|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 pionrrt 于 2023-6-13 14:35 编辑
在一个习题里看到了这个script, filename = argv,感觉是给script, filename分别赋值argv函数的两个返回值,不知道对不对。(但是题里并没有定义这个函数)
百度上说“ARGv是字符串指针的数组,argc,argv 用命令行编译程序时有用” 看完这个解释还是不能理解。
不知道还有什么例子能帮助理解。
(这是一个让改错的习题)
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[0] )是程序的名字,剩下的元素是从命令行传入的参数。
所以,当你在一个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[0]
arguments = argv[1:] # 将所有其他参数保存在一个列表中
|
|