Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 11, 2013 21:07:18

airo
Зарегистрирован: 2013-06-10
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема при запуске файла

Всем привет!
Код например такой:

a = input('Введите число: ')
while a != '0':
    print(a)
    a = input('Введите число: ')
В IDLE и консоли работает всё хорошо, а при двойном клике программа запускается и сразу вылетает.
Ещё пример:
a = input('Enter: ')
while a != '0':
    print(a)
    a = input('Enter: ')
Здесь программа запускается и нормально работает если вводить числа, но если ввести символы - также вылетает.
Смею предположить что дело в кодировке, но блин не знаю что менять и где.

забыл сказать что стоит python3.3

Отредактировано airo (Дек. 11, 2013 21:50:40)

Офлайн

#2 Дек. 11, 2013 21:53:25

Informatikum
Зарегистрирован: 2013-12-11
Сообщения: 55
Репутация: +  -1  -
Профиль   Отправить e-mail  

Проблема при запуске файла

Подумайте. То, что вы вводите, это какой тип данных и счем вы его сравниваете.

У меня ваш код работает, без вылетов.
Предпололжу, что из-за двойного клика ошибка, так как процесс уже запущен данного приложения.
Под Ubuntu запустил несколько раз, работает отлично.

Отредактировано Informatikum (Дек. 11, 2013 22:06:22)

Офлайн

#3 Дек. 12, 2013 13:07:18

airo
Зарегистрирован: 2013-06-10
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема при запуске файла

Подумайте. То, что вы вводите, это какой тип данных и счем вы его сравниваете.
Насколько помню объект полученный с помощью input становиться строкой, поэтому и сравнивается с “0”
У меня ваш код работает, без вылетов.
У меня в виндоус 7 вылетает.
Предпололжу, что из-за двойного клика ошибка, так как процесс уже запущен данного приложения.
Не очень понял, что имелась ввиду. Я создаю текстовый файл с расширением ру, сохраняю, закрываю, два раза кликаю по файлу и происходит то, что описал в первом.
Под Ubuntu запустил несколько раз, работает отлично.
Вы запускали в консоли?

Офлайн

#4 Дек. 12, 2013 15:44:02

cutwater
От:
Зарегистрирован: 2009-01-08
Сообщения: 444
Репутация: +  19  -
Профиль   Отправить e-mail  

Проблема при запуске файла

Informatikum
Предпололжу, что из-за двойного клика ошибка, так как процесс уже запущен данного приложения.
Что за хрень ты пишешь? Иди книжки читай и не лезь с советами.

airo, уверен что python3.3 запускается? У тебя только 3.3 установлен или может быть другая версия, к которой расширение .py привязано.

В любом случае вместо того, чтобы запускать по двойному клику, запусти из консоли.

1. Win+R, cmd
2. Перейди в папку со скриптом
3. python имя_файла.py

При этом нужно, чтобы у тебя путь к python был прописан в PATH. Если нет, то вызови python с явным указанием абсолютного пути (напр. C:\Python3.3\Python.exe)



Отредактировано cutwater (Дек. 12, 2013 15:44:35)

Офлайн

#5 Дек. 12, 2013 21:31:09

airo
Зарегистрирован: 2013-06-10
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема при запуске файла

cutwater
уверен что python3.3 запускается? У тебя только 3.3 установлен или может быть другая версия, к которой расширение .py привязано.
Кстати да, Вы правы. Стоит питон2.7 - уже снёс за ненадобностью. У файлов скриптов пропала открывающая программа; теперь не могу назначить эту открывающую программу (как понимаю это либо python.exe или pythonw.exe?)

В консоли работает всё отлично.

Офлайн

#6 Дек. 12, 2013 22:11:45

cutwater
От:
Зарегистрирован: 2009-01-08
Сообщения: 444
Репутация: +  19  -
Профиль   Отправить e-mail  

Проблема при запуске файла

airo, обычно для *.py файлов это python, для *.pyw - pythonw
Связано с некоторыми особенностями консольных приложений в винде.



Офлайн

#7 Дек. 13, 2013 02:45:28

pyuser
От:
Зарегистрирован: 2007-05-13
Сообщения: 658
Репутация: +  36  -
Профиль   Отправить e-mail  

Проблема при запуске файла

cutwater
При этом нужно, чтобы у тебя путь к python был прописан в PATH. Если нет, то вызови python с явным указанием абсолютного пути (напр. C:\Python3.3\Python.exe)
Если установлен Python 3.3.х, то можно ничего не прописывать, есть launcher, называется py.
Теперь, достаточно в первой строке скрипта указать интерпритатор и launcher сам сообразит, какую версию Python запускать. Версию Python можно указывать и при запуске launcher'а, например:
py -3 script.py # будет использоваться младшая, из установленных питонов третьей ветки, версия
py -3.3 script.py # будет использоваться конкретная версия питона
py  script.py # самая младшая версия из всех установленных питонов

ЗЫ. в скрипте, путь к интерпритатору можно писать как в виндовой форме
#!C:\Python33\python.exe
так и в …nix
#!/usr/bin/python3.3



Офлайн

#8 Дек. 13, 2013 07:41:03

cutwater
От:
Зарегистрирован: 2009-01-08
Сообщения: 444
Репутация: +  19  -
Профиль   Отправить e-mail  

Проблема при запуске файла

pyuser
так и в …nix

Официальная рекомендация использовать иную форму she-bang

#!/usr/bin/env python

или

#!/usr/bin/env python3

Потому что python далеко не всегда лежит в /usr/bin, может использоваться virtualenv, например.



Отредактировано cutwater (Дек. 13, 2013 07:42:21)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version