运行爬虫文件一直出现如下错误:
Traceback (most recent call last):
File “ 20190418ceshiceshi.py ”, line 60, in
f.write("{}".format(pic))
ValueError: I/O operation on closed file.

with open('fenghuang.csv','a',encoding='utf-8') as f:
	for x in  etree_lists:
		#pic=x.xpath(r"./a/img/@alt")[0].strip()
		pic=x.xpath(r"./a/img/@alt")
		print(pic)
		print(''.join(pic))
		#print({"{}".format(pic)})
		#f.write(''.join(pic))
		#f.write(pic)
		f.write("{}".format(pic))
		#f.close()
	f.close()

后来发现是f.close() 缩进错误, 和for 下载同一级别即可解决此问题。

sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf8') 这段操作时指定print和文本文件输出的编码,但... 规避方法:int函数参数应该合法使用。int函数使用传送门:Python中的int函数使用。Python只允许对字典key的遍历,因此上面的遍历方式是错误的。方法一:使用dict[key]的方式同时获取value。试图将一个与数字无关的类型转化为整数,会抛出该异常。试图以二进制模式读取文件时指定编码方式。试图遍历字典时同时遍历键和值。方法二:使用items方法。 复制代码 代码如下: totalCount = ‘100’ totalPage = int(totalCount)/20 ValueError: invalid literal for int() with base 10的错误 网上同样的错误有人建议用round(float(“1.0″)),但是解决不了我这个问题,round(float(“1.0″))是用于解决浮点数转换为整形数的, 而我这个则是因为原字符串转换为整形后做除法,虽然一段时间内可能不报错,但时间久了就会提示(其实就是一个warning,但是会强制终止你的程序),正确 运行爬虫文件一直出现如下错误: Traceback (most recent call last): File “D:/PyCharm1/workspace/AutoLogin/test/test1.py”, line 72, in main() File “D:/PyCharm1/workspace/AutoLogin/test/test1.py”, line 69, in main find_Computer(URL,headers=headers) File “D:/PyCharm1/workspa with open(r'G:/1h.csv', 'w+', newline='') as c: writer_csv = csv.writer(c,dialect="excel" with open(r"G:/1h.txt", 'r', encoding='utf8')as f: print(f.readlines()) 报错:I/O operation on closed file. Va... 报错:ValueError: I/O operation on closed file ValueError: I/O operation on closed file。是指处理了已经被关闭的数据。一般是语句没有对齐。当python的处理代码不对齐的时候会出现这种情况。 使用with方法打开了文件,生成的文件操作实例在with语句之外是无效的,因为with语句之外文件已经关闭了。 报错部分代码: class Maoyan(object): def run(self): [user1@localhost ~]$ lsDesktop Downloads Pictures Templates test.txt~Documents Music Public test.txt Videos[user1@localhost ~]$ cat test.txtwww.cvst.neti am a python leaner.hello worl... pd.ExcelWriter错误(ValueError: I/O operation on closed file) Python使用pd.ExcelWriter保存excel文件出现错误,自行尝试了多种方法,最终得以解决,本篇文章会根据博主自己实验过的方法都展示出来,为了自己做个笔记,急需解决方法的可以直接看最后一个。 目录pd.ExcelWriter错误(ValueError: I/O operation on closed file)问题尝试解决一、缩进问题二、with不用close三、最终解决方法 ==================以下问题解决,均是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)