|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
def file_print(file, paragraph):
(start, end) = paragraph.split(':')
if start == '':
start = 1
else:
start = int(start)
if end == '':
end = -1
else:
end = int(end)
f = open(file)
if start == 1:
if end == -1:
print('''文件%s的从开头到结束的内容如下:''' % file)
else:
print('''文件%s的从开头到第%d行的内容如下:''' % (file, end))
else:
if end == -1:
print('''文件%s的从%d行到结束的内容如下:''' % (file, start))
else:
print('''文件%s的从第%d行到第%d行的内容如下:''' % (file, start, end))
for i in range(start - 1):
f.readline()
num = end - start + 1
if num < 0:
print(f.read())
else:
for i in range(num):
print(f.readline())
f.close()
file_name = input(r'请输入要打开的文件(C:\\test.txt):')
paragraph = input('请输入需要显示的行数【格式如13:21或:21或21:】:')
while paragraph == '':
paragraph = input('输入有误,请重新输入:')
file_print(file_name, paragraph)
各位大神,代码是这样子的,我想请问一下,当从中间某一行到最后的时候,比如13行到最后,num是等于end-start+1,那此时end等于-1,
num就是一个小于0的数,按照if else语句他应该输出所有文件,为什么这里是可以输出13行到最后呢 |
|