Object &引用;“未调整大小的对象”;尝试从目录中删除文件时出错
我正在尝试从目录中删除扩展名为.pcp的文件。 如果我列出我得到的目录:Object &引用;“未调整大小的对象”;尝试从目录中删除文件时出错,object,ironpython,Object,Ironpython,我正在尝试从目录中删除扩展名为.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): ...
>>> 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
回溯(最近一次呼叫最后一次):
文件“”,第3行,在
文件“C:\Program Files(x86)\IronPython 2.7\Lib\ntpath.py”,第96行,在联接中
TypeError:未调整大小的对象的len()
请你指出我犯了什么错误好吗?非常感谢你的帮助。谢谢。你打电话时好像打错了
os.remove(os.path.join(dir, i))
因为dir是一个内置函数,所以不会出现NameError
相反,您可能需要拨打下面的电话:
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)
非常感谢。我忽略了“dir”函数/方法。我试过你的glob解决方案,效果很好。再次感谢。