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

Python程序未打印文件内容却返回空值的问题求助

问题解决与代码修正

核心问题分析

  1. 文件名错误:你实际的文件名是sample-1.txt,但代码里写的是sample-1.txt.txt,这会导致程序找不到目标文件,或是创建一个空的新文件。
  2. 文件打开模式错误:使用"w"(写入模式)打开文件会清空原有内容,且无法读取文件。读取文件应使用"r"(只读模式),这也是默认模式,可省略不写。
  3. 内容读取方式错误:直接print(file)只会打印文件对象的内存信息,不会输出文件内容,需要调用读取方法获取内容。

修正后的Task1代码

"""Task 1: 编写程序读取sample.txt文件的每一行,并打印文件的原始内容。

Task2: 向sample.txt文件添加以下内容:
    "Aaron Woods 1122 123 324 45 88 1561 9 18"
     并打印更新后的文件内容。
     
Task 3: 定义一个函数,返回如下格式的列表:
    [['Cobb' , 'Ty' , 3747.5],[],..,['Smoltz' , 'John' , 293.5],['Woods' , ' Aaron' , 624.00]]
    其中,3747.5是计算出的平均值:
        Ty Cobb => 平均值 = (13099+11434+3053+724+295+117+1249+9)/8
    用同样的方式计算所有球员的平均值,在函数中构建列表并返回给主程序。
    注意:姓氏和名字的位置要调换。
    
Task4: 对函数返回的新列表进行排序,让平均值最低的球员排在最前面,最高的排在最后面。"""
# Task 1
# 用只读模式打开正确的文件
file = open("sample-1.txt", "r")
# 读取文件所有内容并打印
content = file.read()
print(content)
# 关闭文件
file.close()

补充优化写法

如果想逐行读取并保留原格式打印,或是避免忘记关闭文件,推荐使用with语句自动管理文件:

# 逐行读取并打印(保留原换行格式)
with open("sample-1.txt", "r") as file:
    for line in file:
        print(line, end='')

内容的提问来源于stack exchange,提问作者Ash Lucky

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 16:40:40