アクセス許可が拒否されました:「PermissionError: [Errno 13] Permission Denied」のトラブルシューティング
指定されたディレクトリにファイルを保存しようとすると、 「PermissionError: [Errno 13] 許可が拒否されました。」というエラーが発生する場合があります。このエラーは、スクリプトに、意図した場所でファイルを開くために必要な権限がないことを示しています。
ファイルとフォルダーの混同
このエラーの一般的な理由は、誤解です。特定のファイルではなく、フォルダーの選択されたパス。 askdirectory 関数を使用してディレクトリを選択すると、返されるパスはファイルではなくフォルダーを表します。
この問題を解決するには、place_to_save 変数が目的のファイルへのフル パスを正確に表すことを確認してください。ファイル名。 directory と selected_text の値をチェックして、それらが正しく結合されていることを確認します。
検証付きコード サンプル
import os def download(): # ... same code as before directory = filedialog.askdirectory(parent=root, title="Choose where to save your movie") if not directory: return # User canceled the selection filename = selected_text place_to_save = os.path.join(directory, filename) if os.path.isfile(place_to_save): # File already exists, check if it's writable try: with open(place_to_save, 'wb') as f: pass except PermissionError: print("Insufficient permissions to overwrite existing file") else: # New file, create it and write to it with open(place_to_save, 'wb') as f: connect.retrbinary('RETR ' + selected_text, f.write)
追加の観察
以上がファイルを保存するときに「PermissionError: [Errno 13] Permission Deny」が表示されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。