|
|

楼主 |
发表于 2016-9-15 20:46:39
|
显示全部楼层
- def file_view(file_name,line_num):
- if line_num.strip() == ":":
- begin = "1"
- end = "-1"
- (begin,end) = line_num.split(":") #把给定的范围切开
- if begin == "": #如果没给开始只有结尾,默认为最初
- begin = "1"
- if end == "": #如果只有结尾没有开始,默认为结尾
- end = "-1"
- if begin == "1" and end == "-1": #如果为全文
- prompt = "的全文"
- elif begin == "1": #如果以第一个开始
- prompt = "从开始到%s" % end
- elif end == "-1": #如果以最后一个为结束
- prompt == "从%s到结束" % begin
- else: #如果有索引的情况
- prompt = "从第%s行到第%s行" % (begin, end)
- print("\n文件%s%s的内容如下:\n" % (file_name,prompt))#输出
- begin = int(begin) - 1 #记住索引最初为0
- end = int(end) #转化末尾的索引
- lines = end - begin #确定开始和末尾的差距
- f = open(file_name) #打开文件
- for i in range(begin): ######消耗掉begin之前的
- f.readline()
- if lines < 0: #如果无法索引
- print(f.read())
- else:
- for j in range(lines): #按照给定的范围来索引
- print(f.readline(),end = "")
- f.close() #关闭文件
- file_name = input(r"请输入要打开的文件:")
- line_num = input("请输入需要显示的行数:")
- file_view(file_name,line_num)
复制代码
源代码如上,总觉得开头一段冗余,而且不明白 |
|