权限被拒绝:排除“权限错误:[Errno 13]权限被拒绝”
尝试将文件保存到指定目录时,您可能会遇到错误“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 returned”?的详细内容。更多信息请关注PHP中文网其他相关文章!