Python程序未打印文件内容却返回空值的问题求助
问题解决与代码修正
核心问题分析
- 文件名错误:你实际的文件名是
sample-1.txt,但代码里写的是sample-1.txt.txt,这会导致程序找不到目标文件,或是创建一个空的新文件。 - 文件打开模式错误:使用
"w"(写入模式)打开文件会清空原有内容,且无法读取文件。读取文件应使用"r"(只读模式),这也是默认模式,可省略不写。 - 内容读取方式错误:直接
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
相关产品推荐
相关产品推荐

