我正在使用Python 3.2。我想做的基本上是一个将文本导出到.txt文件的程序,如下所示:
[program name] "Hello World" /home/marcappuccino/Documents/Hello.txt
我是一个新手,我不知道如何在两个“之间取任何东西,并将其放入变量中。它在sys.argv
吗?
任何帮助表示赞赏!感谢。
答案 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"