How can I load a configuration file based on the relative path from the script being executed?
堆栈溢出
下面是我的脚本的前几行:
1 2 3 4 5 6 7 8 9 10 11 12 | from ConfigParser import SafeConfigParser from docopt import docopt import core as scrappy ARGS = docopt(__doc__, version=scrappy.__version__) if not ARGS['PATH']: ARGS['PATH'] = './' # load config file CFG = SafeConfigParser() if not CFG.read(ARGS['--cfg']): # call to CFG.read also loads file if it exists raise IOError('Configuration file not found.') |
我试图读取的配置文件与上述脚本位于同一目录中。默认情况下,docopt将此文件的路径设置为
总是调用脚本的最后一行,这意味着找不到文件。我通过打印
给出了什么?
如何指向配置文件?
使用
1 2 3 4 5 | module_dir = os.path.dirname(__file__) CFG = SafeConfigParser() cfg_full_path = os.path.join(module_dir, ARGS['--cfg']) if not CFG.read(cfg_full_path): ... |