Python:用户输入文件名无法打开提示错误,普通读模式失效求解
Python实现用户输入文件名并处理文件打开错误
直接使用普通读取模式时,若文件不存在、无权限或其他问题会直接抛出异常导致程序终止,正确的做法是通过异常捕获来处理这些情况,同时给用户清晰的错误提示。
完整实现代码
file_name = input("请输入文件名:") try: # 使用with语句自动管理文件资源,避免手动关闭文件的遗漏 with open(file_name, 'r', encoding='utf-8') as file: # 这里可添加文件读取后的业务逻辑,比如读取内容 content = file.read() print("文件读取成功") except FileNotFoundError: print(f"错误:文件 '{file_name}' 不存在,请检查文件名或路径是否正确。") except PermissionError: print(f"错误:没有权限打开文件 '{file_name}',请检查文件权限设置。") except Exception as e: # 捕获其他未预料的错误,给出具体错误信息 print(f"打开文件时发生未知错误:{str(e)}")
关键说明
input()函数用于获取用户输入的文件名,若用户输入的是相对路径,需确保程序运行目录与文件所在目录匹配;若输入绝对路径则无需担心。with open(...)是Python推荐的文件操作方式,会在代码块结束后自动关闭文件,避免资源泄漏。- 针对性捕获异常:分别处理文件不存在和权限不足这两种最常见的错误,最后用通用
Exception捕获其他意外情况,保证程序不会崩溃。 - 错误提示明确告知用户问题原因,方便排查。
内容的提问来源于stack exchange,提问作者F786
相关产品推荐
相关产品推荐

