【发布时间】:2017-11-08 22:05:10
【问题描述】:
我正在尝试让这个嵌套循环为更大的程序工作。这只是我代码的一小部分
我希望我的程序将文件夹中的文件名与文本文档中的文件名匹配,如果它们匹配,则执行某些操作。我不知道为什么下面的嵌套循环不起作用。
allGood = open("allGood.txt", "r")
folder = "C:\your\folder\path\here"
for item in allGood:
for file in os.listdir(folder):
if file == item:
print "in item loop" + item
print "Do a thing"
print "1 loop completed"
“allGood.txt”的内容
document10080.pdf
document10098.pdf
document10119.pdf
document10172.pdf
document10178.pdf
and so on
问题在于当它到达 IF 语句时。每个循环它应该只匹配一次,但事实并非如此。我只得到“1个循环完成”的巨大输出
插入print(file, item)的输出
('document10486.pdf', 'document10080.pdf\n')
('document10487.pdf', 'document10080.pdf\n')
('document10488.pdf', 'document10080.pdf\n')
('document10489.pdf', 'document10080.pdf\n')
('document1049.pdf', 'document10080.pdf\n')
我现在看到了我的问题
【问题讨论】:
-
请阅读并遵循帮助文档中的发布指南。 Minimal, complete, verifiable example 适用于此。在您发布 MCVE 代码并准确描述问题之前,我们无法有效地帮助您。我们应该能够将您发布的代码粘贴到文本文件中并重现您描述的问题。
-
@Prune 所以你想让我添加一个“文件夹”对象吗?我还缺少什么?
-
第二个文件夹是干什么用的?它没有在任何地方定义
-
@SPYBUG96:正如我所说,帖子应该是独立的。输入文件丢失并且 os.listdir 的返回将不符合您的需要。硬编码这些列表,你应该没问题。
-
@SPYBUG96 欢迎来到 homo sapiens 俱乐部,我通常称之为
H. Sap.T 恤。
标签: python python-2.7 loops nested