2011-12-17 8 views
5

¿Cómo puedo imprimir todos los argumentos pasados ​​a una secuencia de comandos python?¿Cómo puedo imprimir todos los argumentos pasados ​​a un script python?

Esto es lo que estaba tratando:

#!/usr/bin/python 
print(sys.argv[1:]); 

actualización

cómo puedo guardar en un archivo?

#!/usr/bin/python 
import sys 
print sys.argv[1:] 
file = open("/tmp/test.txt", "w") 
file.write(sys.argv[1:]) 

me sale

TypeError: expected a character buffer object 
+3

En lugar de decir "esto no funciona", tómese el tiempo para averiguar qué * * que "no funciona". Esto incluye cosas como leer - * y publicar * - los mensajes/síntomas de error. –

Respuesta

23

Tendrá que import sys para que eso funcione.

#!/usr/bin/python 

import sys 
print sys.argv[1:] 

Ejemplo

:/tmp% cat foo.py 
#!/usr/bin/python 

import sys 
print (sys.argv[1:]); 

:/tmp% python foo.py 'hello world' arg3 arg4 arg5 
['hello world', 'arg3', 'arg4', 'arg5'] 
2

Su última línea es erróneo.

Debería ser:

file.writelines(sys.argv[1:]) 
2

el problema está en la lista de argumentos que escriben no puede manejar.

Es posible que desee utilizar:

file.write('\n'.join(sys.argv[1:])) 
Cuestiones relacionadas