0

可能重复:
Python 中的命令行参数

我正在使用 Python 3.2。我想做的基本上是一个将文本导出到 .txt 文件的程序,如下所示:

[program name] "Hello World" /home/marcappuccino/Documents/Hello.txt

我是新手,我不知道如何将两个“”之间的任何内容放入变量中。在sys.argv吗?任何帮助表示赞赏!谢谢。

4

2 回答 2

3

是的,它是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 

引号中的参数被视为单个参数。

于 2012-10-16T21:51:13.110 回答
1

我写了一个简单的程序来演示我认为你需要什么。您必须在输入中添加转义字符才能按原样使用引号。

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"
于 2012-10-16T23:20:09.313 回答