pionrrt 发表于 2023-6-13 14:32:56

argv是个函数吗,有什么例子能帮助理解

本帖最后由 pionrrt 于 2023-6-13 14:35 编辑

在一个习题里看到了这个script, filename = argv,感觉是给script, filename分别赋值argv函数的两个返回值,不知道对不对。(但是题里并没有定义这个函数)

百度上说“ARGv是字符串指针的数组,argc,argv 用命令行编译程序时有用”看完这个解释还是不能理解。

不知道还有什么例子能帮助理解。

(这是一个让改错的习题)

isdkz 发表于 2023-6-13 14:34:45

argv不是一个函数,而是一个在命令行环境中传递给程序的参数列表。这通常用在C或者Python这样的编程语境中。在Python中,你可以通过内建的sys模块访问argv 。

argv的全称是 "argument vector",也就是参数向量。当你从命令行执行一个程序时,你可能会传入一些参数,这些参数就被存储在argv中。

举个例子,如果你在命令行中运行下面的命令:

python myfile.py arg1 arg2


这个命令告诉Python解释器运行一个叫myfile.py的文件,并传入两个参数 "arg1" 和 "arg2"。Python 解释器会把这些参数存储在argv中,这样你的程序就可以访问它们。

在Python中, argv是一个列表,它的第一个元素( argv )是程序的名字,剩下的元素是从命令行传入的参数。

所以,当你在一个Python程序中看到这样的代码:

from sys import argv
script, filename = argv


这是从sys模块导入argv ,然后将其解包到变量script和filename中。 script将包含脚本的名称,而filename将包含从命令行传入的第一个参数。

这种script, filename = argv的使用方式在argv列表只有两个元素时是有效的。如果argv包含更多或者更少的元素,这行代码会引发一个值错误(ValueError),因为它尝试把不正确数量的值赋给变量。

如果你想处理更多的参数或者参数的数量不确定,你可以直接处理argv列表,如:

from sys import argv
script = argv
arguments = argv# 将所有其他参数保存在一个列表中
页: [1]
查看完整版本: argv是个函数吗,有什么例子能帮助理解