У меня есть скрипт на Python со многими аргументами. Я хотел бы иметь возможность вызывать этот сценарий, передавая аргументы непосредственно из командной строки, а также предварительно определив эти аргументы в другом файле python и вызывая его вместо этого.
Итак, мой основной файл python run.py
выглядит так:
def main():
....
def parse_arguments():
....
if __name__ == '__main__':
config = parse_arguments()
main(config)
И я могу иметь experiment.py
в том же каталоге, что и:
from run import main
config = ...
main(config)
Это прекрасно работает, если я поставлю experiment.py
в корне, но у меня довольно много таких файлов, поэтому я предпочитаю поместить их в отдельную папку experiments
и иметь такую структуру, как:
package
experiments
experiment1.py
experiment2.py
experiment3.py
...
experiment100.py
run.py
Я, очевидно, не могу сделать python experiments/experiment1.py
, потому что относительный импорт не будет работать. Какой элегантный способ справиться с этим, не слишком меняя иерархию моих существующих файлов?