2017-05-04 43 views
0

我正在開發Windows上的python應用程序。但是,這個應用程序將被部署在Linux系統中。在開發過程中模擬目錄的存在

此應用程序將有一個配置文件在/etc/myapp/config。這個路徑在Windows中是不可能的。

所以,我的問題是:

  • 在Python中,有沒有什麼辦法來模擬,只是在發展過程中,有一定的目錄和文件(如/etc/myapp/config)的存在?

謝謝。

+1

不是問題的答案,但爲什麼不啓動流浪箱或碼頭集裝箱併爲自己節省麻煩? – AJPennster

+0

我現在,但這是我現在的最後一個選擇 – Lobo

+1

只需避免在應用程序中對任何路徑進行硬編碼,就會好起來的。提示:環境變量和/或命令行參數是規避方法來避免編碼依賴環境的值/ –

回答

1

而不是試圖「模擬」一些不存在的路徑,只是避免在應用程序中硬編碼任何路徑,你會沒事的。

提示:環境變量和/或命令行參數是避免對環境相關值進行編碼的規範方法。您可以從os.environ映射中讀取環境變量。這就是說,如果你的應用程序將被部署在一些Linux發行版上,你應該在同一個發行版上測試它,以確保沒有其他故障。這不是對你的配置路徑進行硬編碼的有效理由(即使是本地linux應用程序也不依賴於env變量和/或命令行參數),但是unix-like和windows之間還有其他不同之處......

0

而不是用/\拼湊 - 只需使用os.path.join()。
(在https://docs.python.org/2/library/os.path.html中閱讀os.path.join(path, *paths))。

然後,在你的代碼 - 使用:

os.path.join('', 'etc', 'myapp', 'config') 

而且它會工作既爲C:\etc\myapp\config(在Windows上)和/etc/myapp/config(在* nix)。

相關問題