Как передать аргументы скрипту python при его запуске из Bash?Как передать аргументы через bash на Python при запуске скрипта
python somepythonfile.py arg1 arg2
Как передать аргументы скрипту python при его запуске из Bash?Как передать аргументы через bash на Python при запуске скрипта
python somepythonfile.py arg1 arg2
Как уже отмечалось, вы можете получить сырой доступ к арг через sys.argv
Для более сложной обработки аргументов, если сделать сценарий командной строки, вы можете проверить argparse модуль:
https://docs.python.org/2/library/argparse.html#module-argparse
(из документации ...)
Для примера рассмотрим файл с именем myprogram.py
со следующим кодом:
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('--foo', help='foo help')
args = parser.parse_args()
Из командной строки:
$ python myprogram.py --help
usage: myprogram.py [-h] [--foo FOO]
optional arguments:
-h, --help show this help message and exit
--foo FOO foo help
Точно как у вас есть. Вы можете получить доступ к ним через sys.argv
#!/usr/bin/python
import sys
print 'Number of arguments:', len(sys.argv), 'arguments.'
print 'Argument List:', str(sys.argv)
Выходы:
Number of arguments: 3 arguments
Argument List: ['somepythonfile.py', 'arg1', 'arg2']
sys.argv[0]
) это имя сценарияsys.argv[1]
... sys.argv[N]
) являются принятые доводыБесстыдно взято с this example.
Используйте sys.argv, который представляет собой список, содержащий аргументы, переданные вашему скрипту, а также имя файла.
# test_prog.py
from sys import argv
print argv[0] # test_prog.py
if len(argv) > 1: # check that we have at least 1 argument
print argv[1]
Что не работает о команде, которую вы указали? –
Арги считаются частью того, что я передаю на python. Мне нужны доступные аргументы из скрипта. –