最近在写一些小脚本,需要设定一个配置文件,理所当然的要提供一个脚本来解析这个文件。于是目录结构
类似如下:
因为这部分目录可能放到不同的目录下,这样 parse_conf.py 通过相对路径来读取配置文件就很有必要了。
起初想的太简单,直接使用 os.getcwd() 来获取当前目录,但是从其它目录下调用 parse_conf.py 时得到
是 caller 所在的目录,这样获得的到配置文件的相对目录就不正确了。从网上搜了一下,有个 __file__ 表
示脚本文件本身,而并不受工作目录的影响。用了一下,效果不错:
再进一步,如果需要调用其它目录下的模块,也可以借助 __file__ 来获取相对目录,之后把目标目录加入到
sys.path 中: