关于AttributeError: ‘_io.TextIOWrapper’ object has no attribute 'unlink’错误的解答
在python编程中调用Path模块中的unlink()以及rmdir()函数删除文件或者文件夹时,可能会出现AttributeError: ‘_io.TextIOWrapper’ object has no attribute 'unlink/rmdir错误,
简单一点理解就是unlink支持路径操作不支持文件操作,出现这样的错误是因为p是一个文件对象,文件对象实在内存中的一个区域的一个变量不支持unlink操作。
想要删除e这个打开的文件,首先要先关闭这个文件,然后把这个为文件的路径保存到另外一个变量里(设为d),然后d.unlink()就可以删除这个文件了。
如果没有关闭文件e,则会出现下面错误:
Path是生成路径函数。
完成打开——写入——关闭——删除代码如下:
from pathlib import Path
e=open("D:/python/anzhuang/you","a")
e.writelines("ni hao")
d=Path("D:/python/anzhuang/you")
e.close()
d.unlink()
上述代码是在python3.11.1命令行输入。