我試圖從另一臺機器上獲取一些數據在文本文件中發送。在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)它仍然給空串。 –