Выполнение модулей как скриптов

Я изучаю 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])) 

Что именно вы делали в оболочке? Какой код вы используете?

Похоже, что вы допустили ошибку в своем скрипте – возможно, отсутствовали двоеточия или неправильно получили отступ. Не видя файл, который вы используете, невозможно сказать больше.

редактировать:

Я понял, что происходит не так. Вы пытаетесь запустить 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 (например)