弋琅琊 发表于 2022-7-31 09:10:04

文件处理

第029讲:文件:一个任务 | 课后测试题及答案

2.编写一个程序,当用户输入文件名和行数(N)后,将该文件的前N行内容打印到屏幕上,下面是我编写的,不知道为什么打印不出来

A = input('请输入要打开的文件(C:\\test.txt):')
f1 = open(A,encoding='utf-8')
count = 0
for each_line in f1:
    count += 1
line = int(input('请输入需要显示该文件前几行:'))
if line <= count:
    for i in range (line):
      print(f1.readline())

f1.close()

ZhKQYu 发表于 2022-7-31 09:12:22

因为在这一步的时候for each_line in f1:
    count += 1
就已经把文件指针移到末尾了

ZhKQYu 发表于 2022-7-31 09:13:07

ZhKQYu 发表于 2022-7-31 09:12
因为在这一步的时候
就已经把文件指针移到末尾了

可以这么改一下
A = input('请输入要打开的文件(C:\\test.txt):')
f1 = open(A,encoding='utf-8')
count = 0
for each_line in f1:
    count += 1
line = int(input('请输入需要显示该文件前几行:'))
f1.seek(0, 0)
if line <= count:
    for i in range (line):
      print(f1.readline())

f1.close()

弋琅琊 发表于 2022-7-31 09:37:05

ZhKQYu 发表于 2022-7-31 09:13
可以这么改一下

哇,谢谢你帮我{:5_109:}{:5_95:}
页: [1]
查看完整版本: 文件处理