我试图从几个文件建立输入列表。我需要列表仅包含具有给定基本名称的第一个文件。所以如果我& b是文件夹,并且有“C:\ a \ file1.ext”,“C:\ b \ file1”和“C:\ c \ file1”,并且我有一个名称为file1,file2的列表等等,我希望脚本在C:\ a \ file1.ext中找到file1,然后移动到列表中的下一个名称。在某些情况下,file-x.ext可能不在C:\ a或C:\ c或C:\ b中。while while循环无限
我设置了一个条件来计算文件,一旦它的基名在列表中找到。一旦计数= 1,它将退出while循环,将计数值重置为0,并转到列表中的下一个名称,仅将文件名的第一个实例添加到新的输入列表中。我的代码似乎继续运行,所以我想我有一个内部的循环,但我想设置计数为0以外while循环会防止这种情况:
count = 0
for name in dbfOnlyLst:
for file in fileLst:
while count < 1:
if os.path.basename(file) == name+".dbf":
values.add(file)
count += 1
count = 0
inList = list(values)
是的。在您发表评论之前对其进行编辑。不过谢谢。 – ShaunO
是的,如果任何文件没有你要找的文件名,这个while循环是无限的。 ''文件'在'while循环中永远不会改变,所以如果条件不是最初,条件永远不会变为真。 –
你觉得'os.path.basename'有什么作用? –