Steve Brown
Steve Brown

Reputation: 1416

How can I print all arguments passed to a python script?

How can I print all arguments passed to a python script?

This is what I was trying:

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

update

How can I save them to a file?

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

I get

TypeError: expected a character buffer object

Upvotes: 29

Views: 104296

Answers (3)

davidep
davidep

Reputation: 51

the problem is with the list of args that write can't handle.

You might want to use:

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

Upvotes: 5

jgritty
jgritty

Reputation: 11935

Your last line is wrong.

It should be:

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

Upvotes: 4

Filip Roséen
Filip Roséen

Reputation: 63902

You'll need to import sys for that to work.

#!/usr/bin/python

import sys
print  sys.argv[1:]

Example

:/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']

Upvotes: 56

Related Questions