2013-03-19 58 views
-3

如何獲得此功能?ValueError:以10爲底的long()的無效字面值:''

n = 1234 
f = open("file", "r") 
while True: 
x=f.readline() 
print "*********************" 
print n%(long(x)) 
if n%(long(x))==0: 
    print x 
else: 
print "..." 

我是Python的noob,我收到一個錯誤,我不明白。我究竟做錯了什麼?

ValueError: invalid literal for long() with base 10: '' 
+0

什麼是在這個文件名爲'file'一種方便的方法? – 2013-03-19 22:24:37

+3

通常來說,用你的代碼來描述你正在試圖完成的任務是什麼,所以它需要更少的時間來理解如何爲你提供幫助。 – 2013-03-19 22:24:56

回答

6
In [104]: long('') 
ValueError: invalid literal for long() with base 10: '' 

此錯誤是告訴你,x是空字符串。

你可能會在文件末尾得到這個。 可以固定:

while True: 
    x = f.readline() 
    if x == '': break 
+0

我知道什麼是錯誤,但我需要示例,謝謝 – cerber 2013-03-19 22:33:35

0

一個try/except塊可以調試這樣的事情

n = 1234 
f = open("file", "r") 
while True: 
x=f.readline() 
print "*********************" 
try:            # Add these 3 lines 
    print n%(long(x)) 
except ValueError:        # to help work out 
    print "Something went wrong {!r}".format(x) # the problem value 
if n%(long(x))==0: 
    print x 
else: 
print "..." 
相關問題