開啟執行腳本目錄下的檔案[重訪]
在Python中,開啟與執行腳本相同目錄的檔案可能是個挑戰,特別是在考慮跨平台相容性時。一種常見的方法涉及使用 open("Some file.txt", "r"),該方法在從命令列執行腳本時起作用。但是,當在 Windows 中透過雙擊啟動腳本時,它可能會嘗試從不正確的目錄中開啟檔案。
為了解決此問題,開發人員已尋求可靠的替代方案。 os.path.join(sys.path[0], "Some file.txt") 已成為一種常見的解決方法,但對其潛在限制的擔憂仍然存在。
確定腳本的目錄
識別腳本的目錄對於開啟其中的檔案至關重要。在各種可用的方法中,os.getcwd() 和 os.path.abspath('') 會擷取目前工作目錄,該目錄不一定是腳本的目錄。同樣,os.path.dirname(sys.argv[0]) 和os.path.dirname(__file__) 提供了腳本的執行路徑,在某些環境下執行腳本時,該路徑可能是相對的或不完整的。
推薦解決方案
為了確保在腳本目錄中可靠地打開文件,以下方法是推薦:
__location__ = os.path.realpath( os.path.join(os.getcwd(), os.path.dirname(__file__)))
此行組合了目前工作目錄和腳本的路徑,確保解析任何符號連結時絕對路徑不受影響。
使用此方法開啟檔案:
f = open(os.path.join(__location__, 'bundled-resource.jpg'))
這種方法提供了一個強大的解決方案,可以開啟與運行腳本相同的目錄中的文件,無論執行環境或平台。
以上是如何可靠地開啟與執行 Python 腳本相同的目錄中的檔案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!