2010-10-19 3 views
0

Много приложений командной строки .exe, которые я использую, позволяют указывать дополнительные входы , например. program.exe -o outputfile.txt -f F где «-o» указывает необязательное имя выходного файла, отличное от значения по умолчанию, и где «-F» указывает другой вариант скрипта.можете ли вы указывать входы командной строки в python?

пока что у меня есть использует переменные sys.arg [] для ввода имен файлов и т. д. в мои сценарии python, но это должно быть в установленном порядке, возможно ли помечать входные данные в скрипты python?

[все это происходит потому, я случайно поставил имя ввода и имя вывода в неправильном порядке и переписал мой файл ввода]

ответ

7

Если вы используете Python 2.7, вы хотите использовать argparse. Если вы используете что-то более старое, nt модуль optparse.

2

Вы можете использовать модули, предоставляемые python, для обработки аргументов командной строки.

Как всегда это не устранит проблему непреднамеренного перезаписи входного файла. Для этого вы можете поставить простое предупреждение о том, что если выходной файл уже существует, в дальнейшем будет перезаписываться ваш выходной файл и ждать, пока пользовательский ввод будет продолжен. Таким образом, по крайней мере, вы можете дать возможность прекратить обработку, если вы обнаружили, что имя выходного файла неверно.

Что-то вроде этого:

>>> var = raw_input('Please enter "Y" to proceed further:') 
Please enter "Y" to proceed further:Y 
>>> var 
'Y' 
>>>if var == 'Y': 
... sys.exit(0) 
... 
+0

спасибо, как бы я сделать это предупреждение? – Kirt

+0

@Bec: Добавил его к моему ответу. – pyfunc

Смежные вопросы