疑问
def file_print(file, num):f = open(file)
print('''文件%s的前%d行的内容如下:''' % (file, num))
for i in range(num):
print(f.readline())
f.close()
file_name = input('请输入要打开的文件(C:\\test.txt):')
num = int(input('请输入需要显示该文件前几行:'))
file_print(file_name, num)
大佬们,红字部分我改成f,可以吗? 本帖最后由 聂嘉辉 于 2020-8-21 13:27 编辑
可以,但是行数就变成了全部读取 本帖最后由 聂嘉辉 于 2020-8-21 13:45 编辑
但是行数就变成了全部读取
最好这样写
def file_print(file, num):
with open(file, 'r') as f:
print('''文件%s的前%d行的内容如下:''' % (file, num))
for i in f.readlines():
print(i)
file_name = input('请输入要打开的文件(C:\\test.txt):')
num = int(input('请输入需要显示该文件前几行:'))
file_print(file_name, num) 本帖最后由 Twilight6 于 2020-8-21 14:08 编辑
可以只不过要把下面打印 print(f.readline()),改成 print(i) ,否则会跳行读取
参考代码:
def file_print(file, num):
f = open(file)
print('''文件%s的前%d行的内容如下:''' % (file, num))
for i in f:
print(i)
f.close()
file_name = input('请输入要打开的文件(C:\\test.txt):')
num = int(input('请输入需要显示该文件前几行:'))
file_print(file_name, num)
Twilight6 发表于 2020-8-21 14:07
可以只不过要把下面打印 print(f.readline()),改成 print(i) ,否则会跳行读取
参考代码:
跳行的原因是为什么? 祝建宇 发表于 2020-8-21 15:32
跳行的原因是为什么?
for 循环读取一行时候f.readline() 再次读取,也读取了一行
页:
[1]