2013-03-25 3 views
1

Можно ли передавать переменные на Python при вызове скрипта из оболочки bash?Передача переменных при вызове сценария Python

Например, когда я назвал бы my_script в оболочке, как это:

python my_script.py -par1 -par2 

является возможность использовать par1 и par2 в качестве переменных в Python, так что я могу передать их в качестве аргументов функции?

Нечто подобное, как для сценариев оболочки, где-то вроде этого:

my_script.sh par1 

par1 будет храниться в $ 1

ответ

0

Shell:

python my_script.py -par1 -par2 

Python: Передача их в качестве аргументов функции:

import sys 

arg1,arg2 = sys.argv[1:3] 

myfunc(arg1,arg2) 
+1

Просто добавить, что 'sys.argv [0]' это имя файла и 'sys.argv [1] '- первый аргумент и т. Д. – ronak

+0

это именно то, что я хотел, спасибо большое! –

2

Вы можете получить аргументы командной строки из sys.argv

Python также поставляется с различные утилиты обработки командной строки. Я бы порекомендовал argparse, который включен в стандартную библиотеку, начиная с версии 2.7. Но есть и optparse или даже getopt для приключений.

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