|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
file_name = input('请输入要打开的文件名:')
total_number = input('请输入需要显示的行数【格式如 13:21 或 :21 或 21: 】:')
(start, end) = total_number.split(':', 1)
f = open(file_name)
if start == '' and end == '':
print('\n文件%s的全文内容如下:' % file_name)
for each_line in f:
print(each_line)
else:
if start == '':
start = 0
name_s = '开始'
else:
start = int(start)
name_s = '第%d行' % start
if end == '':
end = -1
name_e = '末尾'
else:
end = int(end)
name_e = '第%d行' % end
print('\n文件%s从%s到%s的内容如下:') % (file_name, name_s, name_e)
number = 0
for each_line in f:
if number >= start and end == -1:
print(each_line)
if number >= start and number <= end:
print(each_line)
number += 1
------------------------------------------------------------------------------------------------------------
请输入要打开的文件名:C:\Users\Documents\学习\python\作业簿\作业附件\海子的诗.txt
请输入需要显示的行数【格式如 13:21 或 :21 或 21: 】:13:21
文件%s从%s到%s的内容如下:
Traceback (most recent call last):
File "C:\Users\Documents\学习\python\作业簿\习题.py", line 24, in <module>
print('\n文件%s从%s到%s的内容如下:') % (file_name, name_s, name_e)
TypeError: unsupported operand type(s) for %: 'NoneType' and 'tuple'
------------------------------------------------------------------------------------------------------------
为什么会是‘NoType’ 和‘tuple’,不是‘str’
括号位置放错了,改成这样:
- file_name = input('请输入要打开的文件名:')
- total_number = input('请输入需要显示的行数【格式如 13:21 或 :21 或 21: 】:')
- (start, end) = total_number.split(':', 1)
- f = open(file_name)
- if start == '' and end == '':
- print('\n文件%s的全文内容如下:' % file_name)
- for each_line in f:
- print(each_line)
- else:
- if start == '':
- start = 0
- name_s = '开始'
- else:
- start = int(start)
- name_s = '第%d行' % start
-
- if end == '':
- end = -1
- name_e = '末尾'
- else:
- end = int(end)
- name_e = '第%d行' % end
- print('\n文件%s从%s到%s的内容如下:' % (file_name, name_s, name_e))
- number = 0
- for each_line in f:
- if number >= start and end == -1:
- print(each_line)
- if number >= start and number <= end:
- print(each_line)
- number += 1
复制代码
|
|