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完全なパスを取得し、「権限が拒否されました」の代わりに必要な権限を確認し、試す前にテストしてください。これにより、エラーをエレガントに処理し、ユーザーに必要なものを知らせることができます。

関連情報