Python中argv的使用遇到的问题。

本文介绍了在Python中遇到的关于argv使用的问题。通过实例展示了如何在命令行中正确运行带参数的Python脚本,解释了sys.argv是一个包含命令行参数的列表,其中脚本名作为第一个元素,其余参数依次排列。同时提到了sys.path和如何在IDE中设置命令行参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    今天按照LPTHW习题13中给出的例子:

<span style="font-size:14px;">from sys import argv

script, first, second, third = argv

print("the script is called:",script)
print("your first variable is:",first)
print("your second variable is:",second)
print("your third variable is:",third)</span>

使用IDLE编译的时候发现会报错,



然后百度了一下need more than 1 value to unpack

结果都是需要在命令行下运行脚本,并且传递4个参数。

然后我用下面的办法:

先找到我存放平时练习用.py文件的文件夹exercise

接着按住shift并且右键单击,选择以命令行方式打开,就进入到相应的目录下了。

环境变量的问题不想再说了!自己解决!




然后运行刚才的脚本,如果只输入13_1.py就会输出:


还是提示有错误



接下来输入13_1.py   1  2  3


发现运行没错了,四个参数默认为文件路径,1,2,3,四个参数输出。



接下来再测试,输入python 13_1.py 1 2 3


现在就是文件名和 1 2 3的输出了。



那么,就该分析一下argv的使用了


首先,我们利用import语句 输入 sys模块。基本上,这句语句告诉Python,我们想要使用这个模块。sys模块包含了与Python解释器和它的环境有关的函数。

当Python执行import sys语句的时候,它在sys.path变量中所列目录中寻找sys.py模块。如果找到了这个文件,这个模块的主块中的语句将被运行,然后这个模块将能够被你 使用 。注意,初始化过程仅在我们 第一次 输入模块的时候进行。另外,“sys”是“system”的缩写。

sys模块中的argv变量通过使用点号指明——sys.argv——这种方法的一个优势是这个名称不会与任何在你的程序中使用的argv变量冲突。另外,它也清晰地表明了这个名称是sys模块的一部分。

sys.argv变量是一个字符串的 列表 。特别地,sys.argv包含了 命令行参数 的列表,即使用命令行传递给你的程序的参数。

如果你使用IDE编写运行这些程序,请在菜单里寻找一个指定程序的命令行参数的方法。

这里,当我们执行python 13—_1.py 1 2 3的时候,我们使用python命令运行13_1.py模块,后面跟着的内容被作为参数传递给程序。Python为我们把它存储在sys.argv变量中。


记住,脚本的名称总是sys.argv列表的第一个参数。所以,在这里,'13_1.py'是sys.argv[0]、'1是sys.argv[1]、'2'是sys.argv[2]以及'3'是sys.argv[3]。注意,Python从0开始计数,而非从1开始。


sys.path包含输入模块的目录名列表。我们可以观察到sys.path的第一个字符串是空的——这个空的字符串表示当前目录也是sys.path的一部分,这与PYTHONPATH环境变量是相同的。这意味着你可以直接输入位于当前目录的模块。否则,你得把你的模块放在sys.path所列的目录之一。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值