Поместите аргумент в строку
Возможный дубликат:
Аргументы командной строки в Python
Я использую Python 3.2. То, что я хотел бы сделать, это в основном программа, которая экспортирует текст в файл.txt, например так:
[program name] "Hello World" /home/marcappuccino/Documents/Hello.txt
Я новичок, и я не знаю, как взять что-то среднее между двумя "" и поместить это в переменную. Это в sys.argv
? Любая помощь приветствуется! Благодарю.
2 ответа
Да, это 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
Аргументы в кавычках считаются одним аргументом.
Я написал простую программу, чтобы продемонстрировать то, что, как я считаю, вам нужно. Вы должны добавить escape-символы во входные данные, чтобы взять кавычки как есть.
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"