我在 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.
