我的目录结构如下:
analytics
/ / \ \
conf script src other
/ \ / \ / \
<setup> <source>
< setup >:
setup.yaml
sql.yaml
< source >:
src/
folder A/
s1.py
s2.py
...
folder B/
m1.py
m2.py
...
如何将此结构中的设置文件包含在结构中的源文件中,而无需对路径进行硬编码
我尝试了sys.path.append('&lt; path&gt;')但当我尝试打开文件时看到错误
>>> import sys
>>> sys.path.append('/Users/user/Documents/work/dw/analytics/conf')
>>> f = open('setup.yaml', 'r')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IOError: [Errno 2] No such file or directory: 'setup.yaml'
>>> f = open('setup.yaml', 'r')
答案 0 :(得分:4)
open()
(以及所有其他文件访问功能)不关心sys.path
。它仅在导入模块时使用。
创建自己的变量,其中包含包含文件的路径,并使用它。