假如有一個py文件如下
# config.py
import argparse
parser = argparse.ArgumentParser()
arg_list = []
def get_config():
config, unparsed = parser.parse_known_args()
return config, unparsed
另一個py文件如下
# gcrn_main.py
import numpy as np
from gconvRNN.config import get_config
if __name__ == "__main__":
config, unparsed = get_config()
他們的執行順序是這樣的:
運行 gcrn_main.py
執行 import numpy as np
執行 from gconvRNN.config import get_config
跳轉到 config.py
執行 import argparse
執行 parser = argparse.ArgumentParser()
執行 arg_list = []
然后運行到
def get_config()
這一行
跳轉回 gcrn_main.py
執行 if
執行 get_config
跳轉到 config.py
執行 get_config()
并且!
config.py 里面的全局變量parser
是一直存在的!可以被get_config()
調用的!