任务是从ini文件中读取值
我正在使用Pycharm,由于某些原因,它无法从相对路径中找到文件
我使用pathlib.Path
resolve
设置绝对路径
因为os.path.abspath("config_file/config.ini")
不适用于我的windows安装程序
filepath = pathlib.Path('../../myproject/config_file/config.ini').resolve()
在我当前的机器上工作,但当我在另一台设备上运行代码时,无法再次找到ini文件。
关于这个答案Use resolve()
在使用此函数时,可能会出现一些错误。
这个问题是否已经解决,或者我只是不知道pathlib resolve
的功能
根据我的实验,与
os.path.abspath
相比,resolve()
使用起来并没有那么严格假设您在脚本下面运行有以下输出,这意味着您正在目录
/home/aaa
上运行abspath
向您返回绝对路径,而不检查config_file/config.ini
是否存在然而,
pathlib.Path.resolve()
是不一样的。如果需要来自resolve()
的绝对路径,则此类文件/home/aaa/config_file/config.ini
必须存在。否则,resolve()
将向您返回相对路径为了回答您的问题,我想您的程序在窗口部署中找不到这样的config.ini。试着检查一下
os.getcwd()
的结果,你就会知道它失败的原因编辑:窗口中的Python的行为如我所述。但是,在linux平台上,它仍然能够返回abspath
相关问题 更多 >
编程相关推荐