0
У меня есть этот код:выполнить код только при sys.argv [1] существуют
#!/usr/bin/python
import os.path
import sys
if len(sys.argv)<2:
print"You need to specify file!"
if (os.path.isfile(sys.argv[1])):
print "File <%s> exist" % sys.argv[1]
elif (sys.argv[1] == "--help"):
print "Add (only)one file argument to command"
print "--help print this screen"
print "--autor autor name and email adress"
print "--about about this program"
elif (sys.argv[1] == "--about"):
print"Program to identify if the file exists"
print"Copyright Vojtech Horanek 2015"
elif (sys.argv[1] == "--autor"):
print"Vojtech Horanek <[email protected]>"
else:
print"No file <%s> found" % sys.argv[1]
и я хочу выполнить этот кусок кода только при sys.argv [1] существует:
if (os.path.isfile(sys.argv[1])):
print "File <%s> exist" % sys.argv[1]
elif (sys.argv[1] == "--help"):
print "Add (only)one file argument to command"
print "--help print this screen"
print "--autor autor name and email adress"
print "--about about this program"
elif (sys.argv[1] == "--about"):
print"Program to identify if the file exists"
print"Copyright Vojtech Horanek 2015"
elif (sys.argv[1] == "--autor"):
print"Vojtech Horanek <[email protected]>"
else:
print"No file <%s> found" % sys.argv[1]
, если я только запустить программу без аргументов (питон program.py) это напечатать текст:
You need to specify file!
Traceback (most recent call last):
File "program.py", line 7, in <module>
if (os.path.isfile(sys.argv[1])):
IndexError: list index out of range
Я попытался «, если sys.argv == 1 ", но не работает.
Любые решения? Благодаря
Вы можете проверить, существует ли len (sys.args [])> 1 – The6thSense
Возможно, вам лучше использовать optparse https://docs.python.org/2/library/optparse.html –