我想要一个Python程序,它必须要求用户将值作为参数。 如果用户只是(没有参数)运行它必须打印的程序
$ python prog.py
Hello
如果用户将参数作为欢迎提供,则必须打印欢迎。
$ python prog.py Welcome
Welcome
答案 0 :(得分:3)
sys.argv
包含运行时参数列表,脚本文件名为第一个参数:
import sys
if len(sys.argv) > 1:
print(" ".join(sys.argv[1:]))
else:
print("Hello")
$ python script.py foo bar
foo bar
$ python script.py
Hello
答案 1 :(得分:2)
import sys
if len(sys.argv) > 1:
print(' '.join(sys.argv[1:]))
else:
print('Hello')
<强>输出:强>
➜ python stackoverflow.py
Hello
➜ python stackoverflow.py Welcome to Miami!
Welcome to Miami!
答案 2 :(得分:2)
最短路:
import sys
print(sys.argv[1] if len(sys.argv) > 1 else 'Welcome')
如果没有参数,这将打印Welcome
,如果有参数,则打印第一个参数。
演示:
kevin@Arch ~> python test.py
Welcome
kevin@Arch ~> python test.py Hey
Hey
kevin@Arch ~> python test.py Hey there
Hey
如果您想在参数为Hey there
时打印Hey there
,只需使用:
import sys
print(' '.join(sys.argv[1:]) if len(sys.argv) > 1 else 'Welcome')
以下是sys.argv
的详细信息。
答案 3 :(得分:1)
您可以测试参数列表的大小,例如:
import sys
if len(sys.argv) > 1:
print(sys.argv[1])
else:
print("Hello")
或使用try:
块:
try:
print(sys.argv[1])
except IndexError:
print("Hello")