Python 关于sys.args的代码是什么意思?

Python 关于sys.args的代码是什么意思?,python,argv,sys,Python,Argv,Sys,下面这段代码是什么意思?我不理解sys.argv的概念。我听说它与命令行提示有关,但我的词汇表不足以理解这一点。输出也很奇怪。我不明白列表是如何产生的,也不明白元素是如何进入的,甚至不知道它们来自何处,它们的含义是什么。这真的让我很困惑,所以如果你能帮助我理解,我将不胜感激。请使用贝内尔术语,以便我能理解 import sys print 'Number of arguments:', len(sys.argv), 'arguments.' print 'Argument List:', st

下面这段代码是什么意思?我不理解sys.argv的概念。我听说它与命令行提示有关,但我的词汇表不足以理解这一点。输出也很奇怪。我不明白列表是如何产生的,也不明白元素是如何进入的,甚至不知道它们来自何处,它们的含义是什么。这真的让我很困惑,所以如果你能帮助我理解,我将不胜感激。请使用贝内尔术语,以便我能理解

import sys

print 'Number of arguments:', len(sys.argv), 'arguments.'
print 'Argument List:', str(sys.argv)

sys.argv
是执行
Python
脚本(即
>Python main.py arg1 arg2
)时包含参数的
字符串的列表


请注意,第一个参数始终是命令的名称。第一个“实际”参数位于sys.argv[1]
中(假设至少传入了一个参数)。

大多数程序接受参数以更改其行为方式。e、 g

grep some_string myfile.ext
此命令(在unix系统上)在
myfile.ext
中查找
'some_string'
,并将匹配的行打印到控制台

所以问题是
grep
(正在运行的程序)如何知道要查找什么,或者要查找什么文件?答案很明显——它通过命令行传递这些参数。您还可以将参数从commandlint传递到python程序:

python my_python_file.py argument1 argument2
在本例中,如果
my_python_file.py
包含您问题中的内容,
sys.argv
将包含
['my_python_file.py','argument1','argument2']


因此,您可以查看
sys.argv
中的
'argument1'
,并让您的代码相应地执行某些操作。请注意,除非是非常简单的情况,否则手工解析sys.argv是相当少见的。通常,您会使用类似于
argparse
的方法为您解析参数,并以更易于管理的格式返回解析后的信息。

请解释这些参数。它们是什么?只是文件名和文件类型?这就是它看起来的样子。我想我已经走了。看看@mgilson给出的答案