请注意,我是 python 初学者,如果这是多余的,请道歉。
因此,在我当前的存储库中,我具有以下文件夹结构:
repo-name
->folder1
->subfolder1
->script.py
->some-naming-convention-folder2
->subfolder2
->subfolder21
->subfolder211
->file.txt
-> more such "some-naming-convention-folders" here...
您可能已经猜到了,我正在从位置
script.py
运行我的 path-to-my-repo/folder1/subfolder1
,并且我想从除我的目录之外的所有其他目录中获取所有此类 *.txt
文件。
原因是,如果您观察到这一点,
some-naming-convention-folder2
是我想要关注的唯一类型的文件夹,而且因为所有此类文件夹都将包含这些文件。
此外,该脚本将作为一项作业在 jenkins 上运行。
所以,这就是我正在做的
all_my_files = glob.glob("/full-path-here-to-my-repo/**/*.txt", recursive=True)
只有当我通过 python 解释器执行此操作时,我才能获取所有此类文件。
但是,当我添加如下逻辑时
all_my_files = glob.glob("/just-my-repo-name/**/file.txt", recursive=True)
我得到的只是一个空列表。
我什至尝试过
all_my_files = glob.glob("../**/file.txt", recursive=True)
--> 返回空列表
all_my_files = glob.glob("./just-my-repo-name/*.txt", recursive=True)
--> 返回空列表
有人可以建议我需要做什么吗,或者我还需要使用 pathlib 或 os.walk() 吗?
我真是个傻瓜,我不知道
".."
中的glob.glob("../directory/file.extension")
是什么意思!因此,那些告诉“glob”嘿,“向上”到我的第一个父目录,然后递归地在该目录下查找 file.extension
。
而且,在这里我假设如果你在路径中看到“..”,这对我来说意味着“向下”一级。啊啊!
而且,就我而言,因为我有 2 个文件夹深,所以我尝试这样做
../../**/file.txt
,我现在可以列出所有 txt
文件!