python中'argv'的确切术语是啥?

Posted

技术标签:

【中文标题】python中\'argv\'的确切术语是啥?【英文标题】:What is the exact term for 'argv' in python?python中'argv'的确切术语是什么? 【发布时间】:2018-03-30 08:14:07 【问题描述】:

我目前正在尝试掌握可以从 syssystem- 导入的 argv 函数的确切名称(如果它可以称为函数)具体参数。我找到了 3 个定义:

argument vector argument value argument variable

那么它是哪一个?也许人们如何称呼它并不重要?它甚至有一个公认的名称吗?

谢谢大家!

【问题讨论】:

arg ... vatever?对不起。这不是 Python 特定的,而是从 C 约定“导入”的 根据 Kernighan & Ritchie 的 The C programming Languageargv 代表“参数向量”。 @PM2Ring 如果 K&R 真的为 C 发明了向量,世界将会变得更美好:) @Jean-FrançoisFabre 哈哈 - 这是最好的:argv(atever) !!!谢谢! @tentkl 似乎带有德国口音 :) 【参考方案1】:

这并不重要。它是一个list(不是函数),argv 这个名称只是从 C 中使用的常规名称借来的。大多数时候,最好使用像 argparse 这样的库来处理命令行参数,在这种情况下你甚至不会直接使用sys.argv

【讨论】:

【参考方案2】:

argv 是一个变量(参数列表),因此不是函数。

命名似乎来自 C 中使用的约定,它使用argc(参数计数)和argv(参数向量)。另见https://***.com/a/3024202/693140

【讨论】:

也许你可以向我解释一下为什么变量及其参数在 argv 中是倒置的?通常在python中,变量是通过命名和分配参数来创建的:variable = "its argument" or variable = 1 or variable = True;使用 argv 时:argument_1,argument_2 = argv【参考方案3】:

这 3 个都不令人满意,因为 1)这是一个列表,2)“参数”含糊不清且具有误导性(这些实际上是“命令行参数”)

一个更好的术语是“命令行参数列表”。

来自文档:

sys.argv

传递给 Python 脚本的命令行参数列表。 argv[0] 是脚本名称(取决于操作系统是否 这是一个完整的路径名与否)。如果该命令是使用 -c 解释器的命令行选项,argv[0] 设置为字符串'-c'。如果没有将脚本名称传递给 Python 解释器, argv[0] 是空字符串。

遍历标准输入,或在 命令行,见文件输入模块。

PS:这有点迂腐,人们看到sys.argv 时通常会明白你在说什么,不管你选择什么称呼它。

【讨论】:

以上是关于python中'argv'的确切术语是啥?的主要内容,如果未能解决你的问题,请参考以下文章

术语:Argv,调用程序

在python中sys.argv[1:]是啥?

如何找到提供给 Python 的确切 CLI 命令?

在云计算的背景下,弹性和可扩展性这两个术语是啥意思?

在实例化类之前在 Python 类中定义的方法的正确术语是啥?

python2的unicode(v,errors ='ignore')的确切python3等价物是啥?