我试图从另一台机器上获取一些数据在文本文件中发送。在python中读取文件时出错
while(1):
try:
with open('val.txt') as f:
break
except IOError as e:
continue
f=open("val.txt","r")
counter = f.read()
print counter
f.close()
counter=int(counter)
在第一次执行时,它返回一个错误
counter=int(counter)
ValueError: invalid literal for int() with base 10: ''
但是,如果我尝试再次执行程序,我能够获得数据。请帮助和谢谢=)
更新:感谢Ashwini评论,我能够解决这个问题。我将把我的解决方案留在这里供其他人参考。
在f.close()之后,我使用try-exception方法来消除空字符串问题。显然,一旦文件刚到达目的地,文件内的数据仍然是空的。
while(1):
try:
counter= int(counter)
break
except ValueError:
f=open("val.txt","r")
counter = f.read()
f.close()
continue
猜测这不是编写程序的有效方法,但它仍然可以解决问题。
感谢您的回复。你可以指导我到一个网站或可能解释int()以及为什么它会工作?其次,文件为什么会出现这种现象?即使我把f.seek(0)它仍然给空串。 –