我正在开发一个基于Windows的python应用程序。但是,此应用程序将部署在Linux系统中。
此应用程序将在isStartDate
处有一个配置文件。在Windows中无法使用此路径。
所以,我的问题是:
/etc/myapp/config
)?谢谢。
答案 0 :(得分:1)
而不是试图"模拟"一些不存在的路径,只是避免硬编码你的应用程序中的任何路径,你会没事的。
提示:环境变量和/或命令行参数是避免编码依赖于环境的值的规范方法。您可以从os.environ
映射中读取环境变量。
这就是说,如果你的应用程序将部署在一些Linux发行版上,你应该在同一个发行版上真正测试它,以确保没有其他故障。它不是硬编码配置路径的正当理由(即使是原生linux应用程序也不依赖于env变量和/或命令行参数),但unix-之间存在很多其他差异 - 喜欢和窗户......
答案 1 :(得分:0)
而不是与/
与\
争吵 - 只需使用os.path.join()。
(阅读os.path.join(path, *paths)
中的https://docs.python.org/2/library/os.path.html
)。
然后,在您的代码中 - 使用:
os.path.join('', 'etc', 'myapp', 'config')
它适用于C:\etc\myapp\config
(在Windows上)和/etc/myapp/config
(在* nix上)。