所以我正在编写一个可以被称为的脚本:
python script.py OOPS Programming myfile.txt
这里OOPS Programming
是一个单一的参数,也可以是一个单词,e:g; OOPS
。我知道双引号可以用来传递一个参数,有更好的还是Pythonic?
谢谢
答案 0 :(得分:0)
要将OOPS Programming
作为单个参数传递,请在其周围加上引号:
python script.py 'OOPS Programming' myfile.txt
在shell中,命令的参数由空格分隔。执行任何程序时,包含参数的字符串将在空白处分割,并作为参数列表传递给程序。
引号会阻止shell分割字符串的这一部分。
如果没有引号,shell就无法区分" OOPS"和"编程" "编程"和" myfile.txt",所以每个单词在列表中成为一个单独的参数。
使用引号,您的Python程序会看到字符串" OOPS Programming"作为一个论点,所以你不需要任何特殊的东西一次性访问它。
这是一个简单的python脚本来演示:
import sys
for index, arg in enumerate(sys.argv):
print(index, arg)
在shell中,使用和不使用引号调用:
$ python3 script.py OOPS Programming myfile.txt
0 script.py
1 OOPS
2 Programming
3 myfile.txt
$ python3 script.py 'OOPS Programming' myfile.txt
0 script.py
1 OOPS Programming
2 myfile.txt