问题
python开发的读取ini文件的程序,在windows上跑没有问题,但是部署到linux以后,报错:
configparser.NoSectionError:No Section:xxx
代码
def __init__(self, config_file_path='./config.ini'):
try:
self.config_file_path = config_file_path
self.conf = configparser.ConfigParser()
self.conf.read(config_file_path,encoding="utf-8")
except Exception as e:
# 文件不存在或者读取失败
print(str(e))
解决问题心路历程
1、怀疑是文件格式问题,于是,在linux上对应位置,新建一个.ini文件,将需要的内容复制进去,再次尝试,还是不行
2、省略中间坑了很久的时间。。。其次怀疑是文件路径的问题:config_file_path='./config.ini',这边写的是相对路径,但是经过之前很多次linux部署,发现linux需要写绝对路径,故改为/xx/xxx/config.ini,再次尝试,可以了
这个问题呢,网上也有很多帖子,虽然也写了些解决方案,但是可能不会跟我们自己遇到的问题完全吻合,主要就是总结思路,个人觉得主要是两点:
1、格式
2、路径
3、权限