Python 通过sys.argv控制台输入参数
通过python编写的大型代码往往需要在服务器中运行,而服务器中往往不会安装IDE,所以只能在控制台通过 python yourcode.py
使程序执行,如果程序中有参数需要调整,通过文本编辑器到程序里去调整参数十分麻烦,并且不能保证代码的一致性。
所以就需要利用,控制台输入参数,参考代码
import sys
if __name__ == "__main__":
if len(sys.argv) >= 3:
a = sys.argv[1]
b = sys.argv[2]
elif len(sys.argv) == 2:
a = sys.argv[1]
b = input("请输入参数b ")
elif len(sys.argv) == 1:
a = input("请输入参数a ")
b = input("请输入参数b ")
print(a + b)
print(sys.argv)
我们在控制台执行这个程序
YaodeMacBook-Pro:learnpy yaoli$ python3 raw_input_test.py 2 3
# 输出
23
['raw_input_test.py', '2', '3']
通过python3 raw_input_test.py 2 3
命令执行了raw_input_test.py
这个程序,其中2,3分别是sys.argv[1]
和sys.argv[2]
,为什么不是sys.argv[0]
我们通过print(sys.argv)
发现其实sys.argv
就是一个list,它的0号元素是这个程序的程序名。
通过print(a+b)
得出23
,我们发现这些参数的输入都是作为字符串变量导入的。
同时以上参考代码,还具有如果输入参数不够两个,自动要求你继续输入的功能。