在 Linux 上使用 Python 建立新目錄

在 Linux 上使用 Python 建立新目錄

我正在全新安裝的 Ubuntu 20.04.2 上執行 Python 腳本。該腳本檢查目錄是否存在,如果不存在則建立它。代碼是:

os.makedirs(f'..{os.sep}logs{os.sep}')

我收到以下錯誤:

PermissionError: [Errno 13] Permission denied: '../logs/'

在命令提示字元中,我只需新增一個 sudo 但我需要我的 Python 腳本能夠建立這些目錄,所以我的問題是如何允許 Python 建立新目錄?

答案1

簡單的答案是:你不知道。雖然我確信您的腳本可以請求並獲得提升的權限,但執行此操作的正常方法是假設運行腳本的任何人都可以存取腳本需要更改的內容。畢竟,如果使用者沒有權限,那麼使用者首先就沒有資格運行腳本。

因此,只需編寫腳本,然後將其留給用戶,以確保他們有權做他們想做的事情。相反,您應該修改腳本以捕獲錯誤並提供更多資訊的錯誤訊息,以便使用者可以知道他們需要存取哪個目錄以及哪種存取權限。因此../log,不要取得完整路徑,也不要“權限被拒絕”,而是檢查需要哪些權限,並在嘗試操作之前對其進行測試。這樣,您就可以優雅地出錯並告訴用戶他們需要什麼。

相關內容