|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
请问错在哪里?
想显示当前工作文件下所有txt文件。
import os
for (root,dir,files) in os.walk(os.curdir):
print(files)
if os.path.splitext(files)[1]=='.txt':
print(files)
运行后显示:有txt文件,但无法用IF筛选出,请问错在何处,多谢
RESTART: C:/Users/Administrator/AppData/Local/Programs/Python/Python36-32/my programe/6.py
['1.py', '2.py', '3.py', '6.py', 'boy_0.txt', 'boy_1.txt', 'boy_2.txt', 'boy_3.txt', 'continue程序.py', 'For 程序.py', 'girl0.txt', 'girl1.txt', 'girl2.txt', 'girl3.txt', 'good.py', 'list copy的特点.py', 'list copy的特点2.py', 'list copy的特点3.py', 'list copy的特点4.py', 'list copy的特点5.py', 'secret number.py', 'table.py', 'try.py', 'while 程序1.py', 'write content in doc 2.py', 'write content in doc.py', '小甲鱼买东西.txt', '小甲鱼游戏.py', '文件.txt', '文件1.txt', '文本.py', '自己写的程序.py', '自己写的程序2.py', '自己写的程序3.py', '自己写的程序4.py', '输密码程序.py', '输密码程序2.py']
Traceback (most recent call last):
File "C:/Users/Administrator/AppData/Local/Programs/Python/Python36-32/my programe/6.py", line 5, in <module>
if os.path.splitext(files)[1]=='.txt':
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\lib\ntpath.py", line 224, in splitext
p = os.fspath(p)
TypeError: expected str, bytes or os.PathLike object, not list
os.path.splitext(files),files是list,需要遍历files再splitext;
或者使用另一种方式
- >> import glob
- >> glob.glob('*.txt')
复制代码
|
|