我有一个带有许多参数的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
,因为相对导入将不起作用。在不过多更改现有文件层次结构的情况下,有什么优雅的处理方式?