Определите аргументы скрипта Python в отдельном файле - PullRequest
0 голосов
/ 24 мая 2019

У меня есть скрипт на 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, потому что относительный импорт не будет работать. Какой элегантный способ справиться с этим, не слишком меняя иерархию моих существующих файлов?

...