鱼C论坛

 找回密码
 立即注册
查看: 767|回复: 5

[已解决]返回空集

[复制链接]
发表于 2020-6-15 10:18:57 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
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[1])=='.py':
        collect.append(i)

   
print(collect)

找到一个目录下的所有py文件,怎么老是返回空集啊,我感觉思维定式了,找不出问题啊
最佳答案
2020-6-15 10:32:15


这个地方错了,放到切割之后
os.path.splitext(i[1])

改成:
os.path.splitext(i)[1]


完整代码:
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)[1] == '.py':
        collect.append(i)

print(collect)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-6-15 10:32:15 | 显示全部楼层    本楼为最佳答案   


这个地方错了,放到切割之后
os.path.splitext(i[1])

改成:
os.path.splitext(i)[1]


完整代码:
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)[1] == '.py':
        collect.append(i)

print(collect)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-15 10:51:57 | 显示全部楼层
本帖最后由 1223253411 于 2020-6-15 11:11 编辑

楼上大佬正解,不过索引最好设为-1,因为扩展名的索引绝对是最后一个(应该都是最后一个吧),防止出现一些其他的情况:比如有没有两个扩展名的文件??谁知道呢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-15 12:02:03 | 显示全部楼层
1223253411 发表于 2020-6-15 10:51
楼上大佬正解,不过索引最好设为-1,因为扩展名的索引绝对是最后一个(应该都是最后一个吧),防止出现一些其 ...


不会的噢,默认是以最后一个后缀名为分割
xx.txt.txt返回的是(xx.txt,.txt)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-15 12:17:04 | 显示全部楼层
1223253411 发表于 2020-6-15 10:51
楼上大佬正解,不过索引最好设为-1,因为扩展名的索引绝对是最后一个(应该都是最后一个吧),防止出现一些其 ...


是的  楼上正解  不需要切割 1 这个 os 模块的 和 普通的 split 不一样 不能混淆哦~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-15 12:50:26 | 显示全部楼层
1223253411 发表于 2020-6-15 10:51
楼上大佬正解,不过索引最好设为-1,因为扩展名的索引绝对是最后一个(应该都是最后一个吧),防止出现一些其 ...

os.path.splitext 只会返回二元组
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-20 16:52

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表