关于python:将参数放入字符串中

Put an argument into a string

本问题已经有最佳答案,请猛点这里访问。

Possible Duplicate:
Command Line Arguments In Python

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

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

我是一个新手,我不知道如何将whtever置于两者之间,并将其放入变量中。是在sys.argv里吗?感谢您的帮助!谢谢。


是的,它是sys.argv,保存命令行参数。您需要类似的内容:

1
2
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"的脚本,然后这样调用它:

1
dostuff.py"Hello World 1""Hello World 2" hello world three

你最终会得到的是:

1
2
3
4
5
6
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

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


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

1
2
3
4
import sys

for i in range(0, len(sys.argv)):
    print sys.argv[i]

输出:

1
2
3
4
5
6
7
8
9
10
11
12
13
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"