在Bash中,$@
和$*
表示命令行参数列表。$@
将所有参数作为独立的引号分隔字符串返回,而$*
将所有参数作为单个字符串返回,参数之间由第一个字符保存在IFS
变量中的分隔符分隔。
在Python中,可以使用sys.argv
来获取命令行参数列表。与Bash中的$@
类似,sys.argv
返回一个包含所有参数的列表,每个参数作为一个独立的字符串。
下面是一个示例代码,演示了如何在Python中使用sys.argv
来模拟Bash中的$@
和$*
:
import sys
# 使用 sys.argv 模拟 $@
for arg in sys.argv[1:]:
print(arg)
# 使用 sys.argv 模拟 $*
args = ' '.join(sys.argv[1:])
print(args)
假设上述代码保存为script.py
文件,可以通过以下命令行运行该脚本,并传递一些参数:
python script.py arg1 arg2 arg3
输出将会是:
arg1
arg2
arg3
arg1 arg2 arg3
这里,sys.argv[1:]
用于遍历除了脚本名称之外的所有参数,并打印每个参数。而' '.join(sys.argv[1:])
将所有参数连接成一个字符串,并使用空格分隔。