输出指定文件的任意连续行
# 编写一个程序,当用户输入文件名和选择后,将该文件的任意连续行的内容输出到屏幕上
# 比如,输入'13:20',打印第13到20行。输入':21',打印前21行。
# 输入'30:',从第30行打印至结尾
1 def file_output2(filename, begin, end): 2 f1 = open(filename, 'r', encoding='utf-8') 3 if begin == '': 4 if end == '': 5 print("%s文件的内容为:") 6 for each in f1: 7 print(each.strip('\n')) 8 else: 9 end = int(end) 10 print("%s文件从开始到第%d行的内容为:" % (filename, end)) 11 for n in range(end): 12 each = f1.readline() 13 print(each.strip('\n')) 14 else: 15 begin = int(begin) 16 n = 0 17 for n in range(begin): # 读取掉前n-1行,不输出 18 f1.readline() 19 # 接着读取并输出所选的行 20 if end == '': 21 print("%s文件从第%d行到结尾的内容为:" % (filename, begin)) 22 for each in f1: 23 print(each.strip('\n')) 24 else: 25 end = int(end) 26 print("%s文件从开始到第%d行到第%d行的内容为:" % (filename, begin, end)) 27 for n in range(end): 28 each = f1.readline() 29 print(each.strip('\n')) 30 f1.close() 31 32 33 filename = input('请输入目标文件名:') 34 choice = input('请输入需要显示文件的行【格式如8:15, :12, 20:】:') 35 (begin, end) = choice.split(':') 36 file_output2(filename, begin, end)