==================以下问题均是lz初学Python遇到的,解决方案摘抄于网络======================
1.ValueError: I/O operation onclosed file
解决:
for line in f:
print("每一行的数据是:%s" % line)
f.close()
改为
for line in f:
print("每一行的数据是:%s" % line)
f.close()
就可以了。原来的时候在for循环里进行了close,所以出错。
2.WindowsError: [Error 32]问题的解决
代码如下:
list_1=os.listdir(".")
for files in list_1:
f=open(files)
if f.name=="01.txt":
os.rename('01.txt','001.txt')
elif f.name=="05.txt":
os.rename("05.txt","005.txt")
这么简单几行代码却报错了:
Traceback (most recent call last):
File "E:\workspace\pytest01\src\filetest\RaedFileMethord.py",line 96, in <module>
os.rename('01.txt','001.txt')
WindowsError: [Error 32]
百思不得其解,搜下才知道,原来:
Error 32是文件已经打开的错误,我忘记在改名前关闭文件了
于是添加了两行代码,f.close(),简单
list_1=os.listdir(".")
for files in list_1:
f=open(files)
if f.name=="01.txt":
f.close()
os.rename('01.txt','001.txt')
elif f.name=="05.txt":
f.close()
os.rename("05.txt","005.txt")
嘿,成功了。
3.WindowsError: [Error 183] 问题的解决
上诉代码又执行了一遍,结果又报错了
Traceback (most recent call last):
File "E:\workspace\pytest01\src\filetest\RaedFileMethord.py",line 96, in <module>
os.rename('01.txt','001.txt')
WindowsError: [Error 183]
这个是因为文件已经存在造成的,重复执行的时候会报这个错误,删下文件。