2016-07-22 4 views
0

Я довольно новичок в Python, поэтому, пожалуйста, несите меня.Как установить/определить/использовать sys.argv

В настоящее время я использую Python 3.5 в среде Anaconda на Pycharm, и я пытаюсь понять, как установить/определить/использовать sys.argv, чтобы я мог автоматизировать несколько процессов перед загрузкой моих изменений в github.

Например:

python function/function.py input_folder/input.txt output_folder/output.txt 

Это означает, что function.py будет принимать input.txt от input_folder, применяются независимо сценарий, написанный в function.py, и сохранять результаты в output.txt в папке output_folder.

Однако, когда я печатаю это в терминале, я получаю следующее сообщение об ошибке:

python: can't open file 'function/function.py': [Errno 2] No such file or directory 

Затем, набрав sys.argv в консоли Python, я получаю следующее:

['C:\\Program Files (x86)\\JetBrains\\PyCharm 2016.2\\helpers\\pydev\\pydevconsole.py', 
'53465', 
'53466'] 

Я думаю, что если я должен был правильно установить sys.argv[0:1], тогда я должен был бы применить function.py к input.txt и сохранить результаты в output.txt.

Я уже пытался определить эти каталоги, но они не сработают. Любая помощь была бы потрясающей!

ответ

1

Ваша проблема в том, что python не знает, где находится каталог функций. Если вы пытаетесь запустить скрипт из подменю каталога, как так

function 
|_function.py 
| 
input_folder 
|_input.txt 
| 
|output_folder 
|_output.txt 

вы должны сказать питона, что папка функция является локальным, так

python ./function/function.py ./input_folder/input.txt ./output_folder/output.txt 

или

python $PWD/function/function.py $PWD/input_folder/input.txt $PWD/output_folder/output.txt 

$ PWD является переменной bash, которая дает текущий каталог

+0

Я пробовал оба и получил 'python: не могу открыть файл './src/venmo__clean.py': [Errno 2] h файл или каталог ' –

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