|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
#编写一个程序,当用户输入文件名和行数(N)后,将该文件的前N行内容打印到屏幕上。
def file_view(file_name, line_num):
print('\n文件%s的前%s的内容如下:\n' % (file_name, line_num))
f = open(file_name)
for i in range(int(line_num)):
print(f.readline(), end= '')
f.close()
file_name = input(r'请输入要打开的文件(C:\\test.txt):')
line_num = input('请输入需要显示该文件前几行:')
file_view(file_name, line_num)
我对蓝色行的代码不太理解,为什么不加end=''打出来的各行内容之间会有空行,而加了之后就没有空行了?
本帖最后由 Twilight6 于 2020-7-8 13:33 编辑
print 中的 end 默认参数 在将 print 中的内容全部打印完成后会追加打印一个 end 参数
而 print 的end 参数默认值是 \n 换行符,这也是为什么 print 会自动换行的原因
当我们人为将 end 重新赋值时候,end= '\n' 就会被我们人为赋值的值所覆盖
比如你等于一个空字符串 end = '' 那么将在 print 函数打印完成后追加打印一个 end 参数的值,即打印一个空字符串
f.readline() 相对于每次对文件读取一行,每读取一行,都会将文件指针移动到下一行的开头
所以每次 for 循环过程中,读取到文件内容都不一样
而且,在读取文件过程中 每一行末尾都会自带 \n 字符串,所以文件会自动换行,而如果你没有将print 函数的 end 重新赋值
会导致你打印文本内容中的换行符效果,然后再追加打印一次 print 的end 参数的换行效果 导致出现空行
|
|