如何可靠地從目前腳本目錄開啟檔案?

Patricia Arquette
發布: 2024-11-15 06:41:03
原創
162 人瀏覽過

How to Reliably Open Files from the Current Script Directory?

從目前腳本目錄開啟檔案:一種綜合方法

從執行腳本的目錄開啟檔案時,使用避免錯誤的適當技術。最初,使用 open("Some file.txt", "r") 可能看起來很簡單,但在 Windows 上透過雙擊啟動腳本時可能會導致問題。

為了解決這個問題,一個常見的方法方法是利用 os.path.join(sys.path[0], "Some file.txt") 指定檔案路徑。雖然這在大多數情況下都有效,但在某些情況下可能會失敗。

探索替代方案:

  • os.getcwd() 和 os.getcwd() 。 path.abspath(''):這些函式提供“目前工作目錄”,可能與腳本目錄不同。
  • os.path.dirname(sys.argv[0] ) 和os.path.dirname(__file__):它們擷取用於呼叫腳本的路徑,該路徑可以是相對路徑或空路徑。此外,__file__ 在 IDLE 或 PythonWin 中不可用。
  • sys.path[0] 和os.path.abspath(os.path.dirname(sys.argv[0])):這些似乎都回傳腳本目錄,但它們的等等價性不確定。

考慮包含模組:

問題可以進一步細化為開啟檔案與包含模組相同的目錄。傳統技術可能無法充分滿足此需求。

可靠的解決方案:

完全可靠的解決方案是使用以下程式碼:

__location__ = os.path.realpath(
    os.path.join(os.getcwd(), os.path.dirname(__file__)))
登入後複製

此行可確保準確取得腳本目錄,無論啟動方法或平台如何。要開啟此目錄中的文件,只需使用:

f = open(os.path.join(__location__, 'bundled-resource.jpg'))
登入後複製

這種方法已被證明可以有效地將資源與 Windows 和 Linux 上的 Django 應用程式捆綁在一起。

以上是如何可靠地從目前腳本目錄開啟檔案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板