我有此路径c:\testfolder\myfolder\
在这个文件夹中,我得到了以下文件夹:
gr432d4dr
fr34q2sf4fd
grdddxwes
pl34scc
us4352fc
us4245
gr00mis
us994k
这些文件夹中包含 cpp 个文件。
我只想从以 gr 和我们
开头的文件夹中搜索这是我的代码,试图搜索特定的文件夹:
def search():
for filename in Path('c:\testfolder\myfolder\').glob('**/*.cpp') :
with open(filename) as f:
if "gr" or "us" in f:
#do something
我打印了一张照片,但似乎仍在检查所有文件夹
答案 0 :(得分:1)
f
不是文件名,而是允许您访问文件内容的文件对象资源。打开文件之前,您必须检查文件名。
def search():
for filename in Path(r'c:\testfolder\myfolder\').glob('**/*.cpp') :
if "gr" in os.fspath(filename) or "us" in os.fspath(filename):
with open(filename) as f:
#do something
您需要os.fspath
从Path
对象取回字符串,才能使用in
运算符在字符串中搜索子字符串。
还要注意我编辑的if
条件。应该这样写。