我正在尝试从另一台机器获取一些以文本文件发送的数据。
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
猜猜这不是编写程序的有效方法,但它仍然可以解决问题。