我在 Mac 上使用 Pycharm。在下面的脚本中,我在名为 dwnld.py
的文件上调用 os.path.isfile
函数。它打印出“文件存在”,因为 dwnld.py
与脚本 (/Users/BobSpanks/PycharmProjects/my scripts
) 位于同一目录中。如果我要将 dwnld.py
放在不同的位置,如何让下面的代码搜索从 /Users/BobbySpanks
开始的所有子目录以获取 dwnld.py
?我尝试阅读 os.path
注释,但我无法真正找到我需要的东西。我是 Python 的新手。
import os.path
File = "dwnld.py"
if os.path.isfile(File):
print("File exists")
else:
print("File doesn't exist")
您可以使用 glob
module为此:
import glob
import os
pattern = '/Users/BobbySpanks/**/dwnld.py'
for fname in glob.glob(pattern, recursive=True):
if os.path.isfile(fname):
print(fname)
没有检查 dwnld.py
是否真的是文件的简化版本:
for fname in glob.glob(pattern, recursive=True):
print(fname)
理论上,它现在可以是一个目录。
If recursive is true, the pattern '**'
will match any files and zero or more directories and subdirectories.
我是一名优秀的程序员,十分优秀!