Object &引用;“未调整大小的对象”;尝试从目录中删除文件时出错

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): ...

我正在尝试从目录中删除扩展名为.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
回溯(最近一次呼叫最后一次):
文件“”,第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解决方案,效果很好。再次感谢。