求助,代码如图
import easygui as gimport os
msg = '请选择需要打开的文本文档'
title = '文档选择器'
choices = os.listdir('.')
print(choices)
for each_file in choices:
print(each_file)
if os.path.splitext(each_file) == '.txt':
print(each_file)
else:
choices.remove(each_file)
print(choices)
g.choicebox(msg, title, choices)
代码如上,几个print()是为了检查问题写的,运行结果如下图
想问为什么两个.py 文件会被加进来,看print结果似乎choices列表里有几个元素根本就没进入循环?
粘贴一张图片就超长了,发不出来{:10_269:} 运行结果:
==============================================================================
['.txt.docx', 'a.txt', 'test.txt', 'why', 'xxx.py', '为什么.txt', '猜数字.py', '登记用户账号信息.py', '选择打开文本文件.py']
.txt.docx
test.txt
test.txt
why
为什么.txt
为什么.txt
猜数字.py
选择打开文本文件.py
['a.txt', 'test.txt', 'xxx.py', '为什么.txt', '登记用户账号信息.py']
================================================================================= 跪求大佬解答{:10_254:} dmyl 发表于 2021-2-28 21:20
跪求大佬解答
在循环中删除列表元素狠不友好,会产生索引变化,会出现一些遗漏现象 wp231957 发表于 2021-2-28 21:33
在循环中删除列表元素狠不友好,会产生索引变化,会出现一些遗漏现象
原来如此,感谢解答{:10_282:} wp231957 发表于 2021-2-28 21:33
在循环中删除列表元素狠不友好,会产生索引变化,会出现一些遗漏现象
不过我还是有点疑惑,看print的结果,几个.py文件应该是进入循环了,为什么没被if语句排除掉呢 dmyl 发表于 2021-2-28 21:48
不过我还是有点疑惑,看print的结果,几个.py文件应该是进入循环了,为什么没被if语句排除掉呢
应该更换思路或算法,而不要纠结这个问题
因为在循环中使用remove总是会产生一些莫名其妙的事情 wp231957 发表于 2021-2-28 21:55
应该更换思路或算法,而不要纠结这个问题
因为在循环中使用remove总是会产生一些莫名其妙的事情
彳亍
页:
[1]