Выполнение модулей как скриптов
Я изучаю python сейчас, и сегодня я встретил проблему в http://docs.python.org/release/2.5.4/tut/node8.html
6.1.1 Выполнение модулей как скриптов
При запуске модуля Python с
python fibo.py <arguments>
код в модуле будет выполнен, как если бы вы его импортировали, но с __name__ установлено значение «__main__». Это означает, что добавив этот код в конец вашего модуля:
if __name__ == "__main__": import sys` fib(int(sys.argv[1]))
вы можете сделать файл пригодным для использования как скрипт, так и импортируемый модуль, потому что код, который анализирует командную строку, запускается только в том случае, если модуль выполняется как «основной» файл:
$ python fibo.py 50 1 1 2 3 5 8 13 21
34
но когда я делаю это в оболочке, я получил
File "<input>", line 1 python fibo.py 222 SyntaxError: invalid syntax
как правильно выполнить сценарий?
fibo.py – это
def fib(n): a,b=0,1 while b<n: print b, a,b = b,a+b def fib2(n): result=[] a,b=0,1 while b<n: result.append(b) a,b=b,a+b return result if __name__ =="__main__": import sys fib(int(sys.argv[1]))
- Установить атрибут «скрыть» на папки в ОС Windows?
- Изменение блокировки клавиатуры в Python
- передача программных прерываний клавиатуры
- Как преобразовать метод .place () в python в java?
- Полностью запутано между GTK, GTK +, GTK + 3, PyGobject и т. Д.
Что именно вы делали в оболочке? Какой код вы используете?
Похоже, что вы допустили ошибку в своем скрипте – возможно, отсутствовали двоеточия или неправильно получили отступ. Не видя файл, который вы используете, невозможно сказать больше.
редактировать:
Я понял, что происходит не так. Вы пытаетесь запустить python fibo.py 222
в оболочке python . Я получаю ту же ошибку, когда я это делаю:
[138] % python Python 2.6.1 (r261:67515, Apr 9 2009, 17:53:24) [GCC 4.1.2 20080704 (Red Hat 4.1.2-44)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> python fibo.py 222 File "<stdin>", line 1 python fibo.py 222 ^ SyntaxError: invalid syntax >>>
Вам нужно запустить его из командной строки командной строки NOT из интерактивной оболочки Python.
Обязательно сначала перейдите в домашний каталог Python. Например, из командной строки операционной системы введите: cd C: \ Python33 \ – в зависимости от вашей версии python. Шахта – 3.3. А затем введите: python fibo.py 200 (например)
- Как инициализировать переменную тензора как матрицу идентичности в TensorFlow
- Строковые литералы python unicode в модуле, объявленные как utf-8
- Python – события выключения Windows
- убить main thead из дочернего потока python
- Есть ли способ перечислить все доступные буквы диска в python?
- Какой режим общего доступа используется при открытии файлов с помощью open ()
- Как вы получаете точный путь к «Мои документы»?
- Программы Python, сосуществующие в Windows
- Получение позиции курсора в Python
- Получить положение и размер окна с помощью python
- Где хранить файлы конфигурации приложений python в Windows