estoy aprender Python ahora, y hoy en día, me encontré con un problema en http://docs.python.org/release/2.5.4/tut/node8.htmlmódulos Ejecutora como scripts
6.1.1 Ejecución de módulos como scripts
Cuando se ejecuta un módulo de Python con
python fibo.py <arguments>
el código en el módulo se ejecutará , como si lo hubiera importado, pero con el __name__ establecido en "__main__". Eso significa que al añadir este código al final de su módulo:
if __name__ == "__main__":
import sys`
fib(int(sys.argv[1]))
Usted puede hacer que el archivo se puede usar como una secuencia de comandos, así como un módulo importable, porque el código que analiza la línea de comandos sólo se ejecuta si el módulo se ejecuta como el archivo "principal":
$ python fibo.py 50 1 1 2 3 5 8 13 21
34
pero cuando hago esto con cáscara, tengo
File "<input>", line 1
python fibo.py 222
SyntaxError: invalid syntax
la forma de ejecutar correctamente la escritura?
fibo.py es
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" es correcto. Muéstranos tu script, ve que hay un problema con la sintaxis en primera línea. –