什么是命令行参数?

时间:2011-12-30 17:05:53

标签: python

我是python的新手(如果这是一个新问题也非常抱歉)但我不知道命令行参数是什么。调用sys.argv时,参数究竟是什么?任何理解这一点的帮助都是一项很棒的服务。

5 个答案:

答案 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

此处--helppython命令的参数,它显示了一个包含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”。