You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python读取用户输入文件名的文件无内容输出问题求助

问题分析与解决

你的代码存在两个核心问题,导致出现“打印文件已打开但看不到读取内容”的情况:

  • 读取的内容未被处理:你调用了file.read()方法,但没有将读取到的内容保存到变量中,也没有输出它。这就好比打开书读了内容,却没把内容展示出来,自然看不到结果。
  • 缺少异常处理逻辑:try块没有对应的except分支,一旦输入的文件名不存在、没有读取权限,程序会直接崩溃抛出异常,无法继续执行后续逻辑。

修正后的代码

def open_sn_file(self):
    while True:
        file_name = input("Please enter a file name or enter 'done' to exit the program: ")

        if file_name == "done":
            print("Bye.")
            break

        try:
            with open(file_name, 'r') as file:
                # 将读取的内容存储到变量
                file_content = file.read()
                print("File is now open.")
                # 输出读取到的内容
                print("文件内容:")
                print(file_content)
        # 捕获文件不存在的异常
        except FileNotFoundError:
            print(f"错误:文件 '{file_name}' 不存在,请检查文件名。")
        # 捕获其他读取异常(如权限问题)
        except Exception as e:
            print(f"读取文件时发生错误:{str(e)}")

关键改动说明

  1. 新增file_content = file.read(),把文件内容存储到变量中,后续可以打印、处理这些内容。
  2. 添加print(file_content)输出读取到的内容,让你能直观看到文件里的信息。
  3. 补充except分支,分别处理文件不存在和其他通用异常,避免程序崩溃,同时给出明确的错误提示。

内容的提问来源于stack exchange,提问作者Sameerah Mahmood

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 00:03:12