我具有以下结构
main.py
module/
properties.yaml
file.py
file.py相关代码:
def read_properties():
with open('properties.yaml') as file:
properties = yaml.load(file)
main.py相关代码:
from module import file
file.read_properties()
在main.py中调用read_properties()
时,出现以下错误:FileNotFoundError: [Errno 2] No such file or directory: 'properties.yaml'
建议什么方法允许我的模块即使在导入后也访问属性文件?
答案 0 :(得分:0)
提供到properties.yaml
的绝对路径:
with open('/Users/You/Some/Path/properties.yaml') as file:
答案 1 :(得分:0)
正如JacobIRR在回答中所说,最好使用文件的绝对路径。我使用os模块根据当前工作目录构造绝对路径。因此,对于您的代码,它类似于:
do
答案 2 :(得分:0)
基于@JacobIRR和@BigGerman的答案
我最终使用pathlib而不是os,但是逻辑是相同的。 这是针对那些感兴趣的人的pathlib语法:
在file.py中:
select count(*)
from (SELECT wage, AVG(wage) over() AS avgWage
FROM emp_wages
) t
where wage < avgWage