Моя командная строка сценария принимает несколько аргументов, включая строки, Интс, поплавки и списки, и это становится немного сложнее, чтобы сделать вызов со всеми аргументами:Более эффективный способ передачи нескольких аргументов сценарию?
python myscript.py arg1 arg2 arg3 ... argN
Чтобы избежать того, чтобы написать все аргументы в команде line Я создал текстовый файл со всеми аргументами, которые я просто читал по строкам для сбора аргументов. Это прекрасно работает, но лучше ли это для этого? Есть ли более эффективный способ?
'argparse' довольно велик, что позволяет поместить аргументы командной строки в файле и прочитать оттуда что полезно, когда число параметров начинают получать громоздким ... Но если у вас есть много вещей, которые вы хотите изменить, вам, вероятно, лучше использовать какой-то структурированный файл инициализации (например, 'configparser') – mgilson
Это действительно зависит от использования. Если пользователь должен каждый раз вводить эти параметры, тогда файл может быть менее подвержен ошибкам. Если параметры не меняются очень часто, вы можете использовать переменные среды, но это может быть грязно, поэтому я не рекомендую это делать. Вы можете читать из 'stdin', а затем либо передавать значения в документ или использовать этот документ (оболочное устройство для передачи встроенных данных). Не могли бы вы пояснить, как вызывается программа, т. Е. Из командной строки или скрипта? – cdarke
@cdarke Теперь я вызываю программу 'python myscript.py input_args.txt' с текстовым файлом, содержащим мои аргументы – LukeBowl