我在python项目中使用cofigparser
。目录结构如下:
root/dir/data.py
root/dir/config.ini
data.py
代码:
config_parser = configparser.RawConfigParser()
config_file_path = "data/config.ini"
config_parser.read_file(open(config_file_path))
这在本地计算机上有效。但是,当我尝试从詹金斯(Jenkins)构建它时,输出为:
> config_parser.read_file(open(config_file_path)) 19:09:04
> FileNotFoundError: [Errno 2] No such file or directory:
> 'data/config.ini'
在尝试解决该问题后,我发现,只有在将root包含在路径中的情况下,Jenkins才起作用,所以我将其更改如下:
config_file_path = "root/data/config.ini"
它开始在詹金斯上工作。但是-我现在在本地计算机上出现上述错误消息。所以现在我处于这种情况下,如果我可以从本地计算机运行代码,则必须更改该路径,并且当我将更改提交到git时,不要忘记将其更改回去。有谁知道,为什么呢?以及如何写对两者都适用的路径?
注意1:
Im在项目中使用的所有导入均不包含根目录,因此例如:
from dir.dir2 import foo
如果我包含root目录,那么Jenkins将永远无法使用。
注2:
两台运行Windows的计算机。