将参数放入字符串中

时间:2012-10-16 21:46:11

标签: python string variables arguments sys

  

可能重复:
  Command Line Arguments In Python

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

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

我是一个新手,我不知道如何在两个“之间取任何东西,并将其放入变量中。它在sys.argv吗? 任何帮助表示赞赏!感谢。

2 个答案:

答案 0 :(得分: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 

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

答案 1 :(得分: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"