Python Argparse и Bash [дубликат]Python

Программы на Python
Anonymous
Python Argparse и Bash [дубликат]

Сообщение Anonymous »

У меня есть сценарий, который использует argsparse для изменения входных данных. В приведенном ниже примере выполняется серия симуляций, одна за другой, на основе заданных аргументов:

Код: Выделить всё

def main():

parser = argparse.ArgumentParser(description="Simulation of drivers' behavior")
parser.add_argument('-f', '--fleet',
help='Fleet sizes to simulate, formatted as comma-separated list (i.e. "-f 250,275,300")')
parser.add_argument('-m', '--multiplier',
help='Surge multiplier, formatted as comma-separated list (i.e. "-m 1,1.5,2")')

args = parser.parse_args()
if args.fleet:
fleet_sizes = [int(x) for x in args.fleet.split(',')]
else:
fleet_sizes = FLEET_SIZE
if args.multiplier:
surges = [float(x) for x in args.multiplier.split(',')]
else:
surges = [SURGE_MULTIPLIER]
и из командной строки я обычно запускаю его как:

Код: Выделить всё

python script.py -f 1000,1500 -m 1,2
Теперь я хочу использовать свой Linux Bash для параллельного запуска этих сценариев. Типичный подход выглядит примерно так:

Код: Выделить всё

for i in {1000, 1500}; do python script.py -f i & done; done
Но это не работает, потому что невозможно правильно проанализировать i:

Код: Выделить всё

ValueError: could not convert string to float: 'i'
(Я пробовал изменить функцию обработки argparse, но, похоже, это не решило проблему). Некоторые решения предлагают использовать sys.argv[1], но 1) я не хочу переходить с argparse на него 2) кажется, что argparse в целом является лучшим способом.

Мой вопрос заключается в следующем: как я могу использовать bash для параллельного запуска моего скрипта Python, учитывая, что он использует argparse для сбора входных данных для каждой переменной в коде?

Мой вопрос: как я могу использовать bash для параллельного запуска моего скрипта Python, учитывая, что он использует argparse для сбора входных данных для каждой переменной в коде? п>

Подробнее здесь: https://stackoverflow.com/questions/566 ... e-and-bash

Вернуться в «Python»