写代码时,为了测试方便,直接用了相对路径(mac环境),在pyinstaller打包exe放到windows平台测试时路径报错。
解决方法:
1.直接使用目标平台的绝对路径,但这样不方便移植到其他平台,故弃之不用
2.方便移植到其他平台:传入文件名,使用os.path拼接成文件路径即可!
错误原因:
这其实是ConfigParser这个模块本身的一个小“缺陷”,因为ConfigParser.ConfigParser().read(path)的时候,即便path不存在也不会报错。如果报错了的话,我们就可以很快定位问题了。所以切记切记,用ConfigParser之前一定要os.path.isfile(path)检查一下!
拼接路径示例代码:
def file_dir(filename):
work_dir = os.path.dirname(os.path.abspath(__file__))
file_path = os.path.join(work_dir, filename)
return file_path