Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 24, 2011 22:55:13

BWA
От:
Зарегистрирован: 2011-06-24
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

При запуске скрипта из CMD выдает ошибку (Input)

Здравствуйте, столкнулся с проблемой в следующем коде (Windows 7, Python 3.2):


string = input(“вводим числа”) - например 2011
for num in string:
number = int(num)


Если тестирую код из питоновской консоли то все хорошо, однако когда пытаюсь запустить скрипт из CMD - выдает ошибку
ValueError: invalid literal for int() with base 10: ‘\r’

Прочитал у вас на форуме что для винды нужна строчка, которая бы обрезала \r который добавляет Input
num = num.rstrip(“\r”)

Когда добавляю выдает ошибку:
ValueError: invalid literal for int() with base 10: ''

Помогите пожалуйста, не понимаю в чем проблема.



Офлайн

#2 Июнь 24, 2011 23:15:08

BWA
От:
Зарегистрирован: 2011-06-24
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

При запуске скрипта из CMD выдает ошибку (Input)

Проблема решена добавлением
string = string.rstrip()
string = string.lstrip()
string = string.strip()



Офлайн

#3 Июнь 24, 2011 23:16:29

pill
От:
Зарегистрирован: 2010-08-27
Сообщения: 223
Репутация: +  0  -
Профиль   Отправить e-mail  

При запуске скрипта из CMD выдает ошибку (Input)

Попробуйте перед циклом: string.strip('\r').
Вообще-то судя по описанию input должен сам стрипать newline… но не знаю до 3.* руки пока не дошли.

ЗЫ: Опоздал :)



Отредактировано (Июнь 24, 2011 23:16:58)

Офлайн

#4 Июнь 24, 2011 23:31:22

BWA
От:
Зарегистрирован: 2011-06-24
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

При запуске скрипта из CMD выдает ошибку (Input)

это оказывается бага такая:
http://bugs.python.org/issue11272

> On linux, python 3.2 -
>
>>>> x = input()
> xyz
>>>> len(x)
> 3
>>>> x
> ‘xyz’
>
> on windows, python 3.2 -
>
>>>> x = input()
> xyz
>>>> len(x)
> 4
>>>> x
> ‘xyz\r’



Отредактировано (Июнь 24, 2011 23:32:29)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version