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フル パスを取得し、「アクセス許可が拒否されました」の代わりに必要なアクセス許可を確認し、操作を試行する前にテストします。こうすることで、エラーを適切に終了し、ユーザーに必要なことを伝えることができます。

関連情報