按照如下代码,遍历file中的字符串
import matplotlib.pyplot as plt
plt.figure()
plt.axes()
file=open("C:/Users/jyz_1/Desktop/新建文本文档.txt")
file=file.read()
lines=file.split("重庆")
x=[0,10,20,30,40]
tu1,tu2,tu3,tu4,tu5=0,0,0,0,0
tl1,tl2,tl3,tl4,tl5=0,0,0,0,0
for line in lines:
tu=int(line[line.find("\n",line.index("\n")+1)+1:line.index("C")])
tl=int(line[line.index("~")+1:line.find("C",line.index("C")+1)])
然后python报错:
Traceback (most recent call last):
File "C:\Users\jyz_1\AppData\Local\Programs\Python\Python37-32\13.py", line 11, in <module>
tu=int(line[line.find("\n",line.index("\n")+1)+1:line.index("C")])
ValueError: invalid literal for int() with base 10: '阴\n10'
使用debug发现是第二次索引file时tu的值错误
于是我在shell里尝试:
>>> lines=['2015-1-1\n阴\n11c~7c\n微风','2015-1-2\n阴\n10c~8c\n微风']
>>> for line in lines:
line[line.find("\n",line.index("\n")+1)+1:line.index("c")]
'11'
'10'
结果并没有出错!那么是哪里有问题呢?