返回空集
import easygui as gimport os
file_open=g.diropenbox()
collect=[]
file_find=os.listdir(path=file_open)
for i in file_find:
if os.path.splitext(i)=='.py':
collect.append(i)
print(collect)
找到一个目录下的所有py文件,怎么老是返回空集啊,我感觉思维定式了,找不出问题啊
这个地方错了,放到切割之后
os.path.splitext(i)
改成:
os.path.splitext(i)
完整代码:
import easygui as g
import os
file_open = g.diropenbox()
collect = []
file_find = os.listdir(path=file_open)
for i in file_find:
if os.path.splitext(i) == '.py':
collect.append(i)
print(collect) 本帖最后由 1223253411 于 2020-6-15 11:11 编辑
楼上大佬正解,不过索引最好设为-1,因为扩展名的索引绝对是最后一个(应该都是最后一个吧),防止出现一些其他的情况:比如有没有两个扩展名的文件??谁知道呢{:10_277:} 1223253411 发表于 2020-6-15 10:51
楼上大佬正解,不过索引最好设为-1,因为扩展名的索引绝对是最后一个(应该都是最后一个吧),防止出现一些其 ...
不会的噢,默认是以最后一个后缀名为分割
xx.txt.txt返回的是(xx.txt,.txt) 1223253411 发表于 2020-6-15 10:51
楼上大佬正解,不过索引最好设为-1,因为扩展名的索引绝对是最后一个(应该都是最后一个吧),防止出现一些其 ...
是的楼上正解不需要切割 1 这个 os 模块的 和 普通的 split 不一样 不能混淆哦~ 1223253411 发表于 2020-6-15 10:51
楼上大佬正解,不过索引最好设为-1,因为扩展名的索引绝对是最后一个(应该都是最后一个吧),防止出现一些其 ...
os.path.splitext 只会返回二元组
页:
[1]