python:使用文件B

时间:2016-02-15 08:50:21

标签: python import module

我有一个可以接受命令行参数的python文件(例如fileA.py)。接下来我调用了几个函数,这些函数通过不同的.py文件(filea - > fileb - > filec - > fileX)。在filex中,我想使用给予fileA的命令行参数(在本例中为文件)。

这是我用于命令arg解析的代码:

p = argparse.ArgumentParser()
p.add_argument("-c", dest="configfile",help="Input configuration file")
args = p.parse_args()
configfile = args.configfile
if not (configfile):
    p.print_help()
    sys.exit()
f = open(configfile)
config = yaml.load(f)

我可以通过每个文件传递它,直到它在fileX结束,我试过这个,但这似乎远非优雅。有没有人有更合适的解决方案?

1 个答案:

答案 0 :(得分:0)

如果你需要在fileX.py的某些函数中使用参数,那么只解析该函数​​中的参数,它不需要在mainfile中。 例如 -

mainfile.py

from filex import f
f()

filex.py

import argparse
def f():
    p = argparse.ArgumentParser()
    p.add_argument("-c", dest="configfile",help="Input configuration file")
    args = p.parse_args()
    configfile = args.configfile
    print configfile

然后将其作为 -

运行
mainfile.py -c someconfig_file
#it prints - someconfig_file