"unsized object" 尝试从目录中删除文件时出错
"unsized object" error trying to remove files from a directory
我正在尝试从目录中删除扩展名为 .pcp 的文件。
如果我列出我得到的目录:
>>> for i in os.listdir(folder):
... if i.endswith(".pcp"):
... print(i)
...
1.pcp
2.pcp
3.pcp
4.pcp
5.pcp
6.pcp
7.pcp
8.pcp
9.pcp
10.pcp
当我 运行:
>>> for i in os.listdir(folder):
... if i.endswith(".pcp"):
... os.remove(os.path.join(dir, i))
...
我收到错误:
Traceback (most recent call last):
File "<stdin>", line 3, in <module>
File "C:\Program Files (x86)\IronPython 2.7\Lib\ntpath.py", line 96, in join
TypeError: len() of unsized object
请你指出我做错了什么?非常感谢帮助。谢谢
看来你打错电话了
os.remove(os.path.join(dir, i))
您不会收到 NameError,因为 dir 是内置函数。
相反,您可能需要调用以下行:
os.remove(os.path.join(folder, i))
您还可以使用 glob
模块:
import glob
files = glob.glob(os.path.join(folder,'*.pcp'))
for f in files:
os.remove(f)
我正在尝试从目录中删除扩展名为 .pcp 的文件。 如果我列出我得到的目录:
>>> for i in os.listdir(folder):
... if i.endswith(".pcp"):
... print(i)
...
1.pcp
2.pcp
3.pcp
4.pcp
5.pcp
6.pcp
7.pcp
8.pcp
9.pcp
10.pcp
当我 运行:
>>> for i in os.listdir(folder):
... if i.endswith(".pcp"):
... os.remove(os.path.join(dir, i))
...
我收到错误:
Traceback (most recent call last):
File "<stdin>", line 3, in <module>
File "C:\Program Files (x86)\IronPython 2.7\Lib\ntpath.py", line 96, in join
TypeError: len() of unsized object
请你指出我做错了什么?非常感谢帮助。谢谢
看来你打错电话了
os.remove(os.path.join(dir, i))
您不会收到 NameError,因为 dir 是内置函数。
相反,您可能需要调用以下行:
os.remove(os.path.join(folder, i))
您还可以使用 glob
模块:
import glob
files = glob.glob(os.path.join(folder,'*.pcp'))
for f in files:
os.remove(f)