2013-03-19 1 views
-3

Как мне заставить это работать?ValueError: недействительный литерал для long() с базой 10: ''

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 "..." 

Я новичок в питоне, и я получаю сообщение об ошибке, которого я не понимаю. Что я делаю не так?

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

Что в этом файле с именем 'file'? –

+3

Обычно полезно описать словами, что вы пытаетесь выполнить с помощью своего кода, поэтому требуется меньше времени, чтобы понять, как вам помочь. –

ответ

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

Эта ошибка говорит вам, что x пустая строка.

Вы можете получить это в конце файла. Это может быть исправлено с:

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

Я знаю, какая ошибка говорит, но мне нужен пример, спасибо – cerber

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 "..." 

 Смежные вопросы

  • Нет связанных вопросов^_^