可能重复:
Python 中的命令行参数
我正在使用 Python 3.2。我想做的基本上是一个将文本导出到 .txt 文件的程序,如下所示:
[program name] "Hello World" /home/marcappuccino/Documents/Hello.txt
我是新手,我不知道如何将两个“”之间的任何内容放入变量中。在sys.argv
吗?任何帮助表示赞赏!谢谢。
是的,它是sys.argv,它包含命令行参数。你会想要这样的东西:
string_to_insert = sys.argv[1]
file_to_put_string_in = sys.argv[2]
这会将“Hello World”分配给string_to_insert
和 /home/marcappuccino/Documents/Hello.txt 分配给file_to_put_string_in
.
假设您有一个名为“dostuff.py”的脚本,您可以像这样调用它:
dostuff.py "Hello World 1" "Hello World 2" hello world three
你最终会得到的是:
sys.argv[0] = dostuff.py (might be a full path, depending on the OS)
sys.argv[1] = Hello World 1
sys.argv[2] = Hello World 2
sys.argv[3] = hello
sys.argv[4] = world
sys.argv[5] = three
引号中的参数被视为单个参数。
我写了一个简单的程序来演示我认为你需要什么。您必须在输入中添加转义字符才能按原样使用引号。
import sys
for i in range(0, len(sys.argv)):
print sys.argv[i]
输出:
python testing.py a b c "abcd"
testing.py
a
b
c
abcd
python testing.py a b c \"abcd\"
testing.py
a
b
c
"abcd"