我是python的新手(如果这是一个新问题也非常抱歉)但我不知道命令行参数是什么。调用sys.argv
时,参数究竟是什么?任何理解这一点的帮助都是一项很棒的服务。
答案 0 :(得分:7)
尝试运行此程序:
import sys
print(sys.argv)
你应该看到类似的结果:
% test.py
['/home/unutbu/pybin/test.py']
% test.py foo
['/home/unutbu/pybin/test.py', 'foo']
% test.py foo bar
['/home/unutbu/pybin/test.py', 'foo', 'bar']
% python test.py foo
['test.py', 'foo']
因此,您看到sys.argv
是一个列表。第一项是正在运行的脚本的路径(或文件名),后跟命令行参数。
答案 1 :(得分:6)
给定命令myscript.py arg1 arg2 arg3
,参数为arg1,arg2和arg3。 sys.argv还将在第一个位置包含脚本名称(即myscript.py)。
Command line arguments并非特定于python。
答案 2 :(得分:0)
命令行参数是您在命令行中的命令后键入的字符串,例如:
python --help
此处--help
是python
命令的参数,它显示了一个包含python
命令的有效命令行参数的帮助页面。
在python程序中,你可以访问sys.argv
中的参数,所以假设你开始这样的python脚本:
python myscript.py -x -y
当myscript.py
开始时,sys.argv[1]
将字符串'-x'作为值,sys.argv[2]
将字符串'-y'作为值。您对这些参数的处理取决于您,并且有一些模块可以帮助您轻松定义命令行参数,例如argparse。
答案 3 :(得分:0)
命令行参数是您在脚本名称后键入的参数。例如。如果键入:python test.py arg1
,则第一个参数为arg1。
例如,请查看jhu.edu。
答案 4 :(得分:0)
参数通常用作告诉程序运行时它应该做什么的一种方式。
如果我有一个名为writefile.py的程序,并且我希望用户告诉它要写入哪个文件,那么我将使用python writefile.py targetfile.txt
运行它。我的示例writefile.py:
import sys
file = open(sys.argv[1], 'w') # sys.argv[0] = 'writefile.py' (unutbu's answer)
file.write('ABCDE')
file.close
运行之后,我将有一个名为targetfile.txt的文件,内容为“ABCDE”。如果我用python writefile.py abcde.txt
运行它,我的abcde.txt的内容为“ABCDE”。