Я передаю действительный словарь Python в качестве аргумента моему сценарию на Python. Это часть набора экспериментов, поэтому мой скрипт должен запускаться несколько раз и с разными значениями в словаре. Я использую удаленные машины, поэтому я прибегаю к GNU Parallel, который хорошо мне помог в прошлом (да, я привел статью :).Как передать словарь Python в качестве аргумента скрипту через GNU Parallel?
Дело в том, что аргументы меняются многократно, поэтому мне нужно использовать кавычки и обратную косую черту, чтобы заставить мой аргумент получить звук и безопасность. Мой вопрос: есть ли лучший способ сделать это?
Это минимальный сценарий Python:
import ast
import sys
print(sys.argv[1])
print(ast.literal_eval(sys.argv[1]))
Если я запускаю следующую команду я получить желаемый результат:
parallel --header : python example.py '\{\"var1\":\ {var1},\ \"var2\":\ {var2}\}' ::: var1 1 ::: var2 2
Выход:
{"var1": 1, "var2": 2}
{'var1': 1, 'var2': 2}
Есть похорошела способ изложить словарь?
Я очень благодарен за любую помощь!