文件内容的输出格式
#编写一个程序,当用户输入文件名和行数(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=''打出来的各行内容之间会有空行,而加了之后就没有空行了?
本帖最后由 yhhpf 于 2020-7-8 13:16 编辑
print()函数默认end="\n"既打印内容结尾是换行符,所以你不填就默认你换行咯,若果赋值end=""则相当于结尾为空(没有结尾) 所以同样的,你可以尝试下print('你要打的内容',end='-')
end=' '
end='/t'
等等等等........ yhhpf 发表于 2020-7-8 13:15
所以同样的,你可以尝试下print('你要打的内容',end='-')
end=' '
end='/t'
我知道print()函数会默认换行,但是我把end=''去掉后它是直接换了两行,就是下面这样
请输入要打开的文件(C:\\test.txt):something.txt
请输入需要显示该文件前几行:3
文件something.txt的前3的内容如下:
从明天起,做一个幸福的人
喂马、劈柴,周游世界
从明天起,关心粮食和蔬菜 本帖最后由 yhhpf 于 2020-7-8 13:30 编辑
好吃的小笼包 发表于 2020-7-8 13:20
我知道print()函数会默认换行,但是我把end=''去掉后它是直接换了两行,就是下面这样
请输入要打开的 ...
文本内容自带换行~ 默认行尾打印换行符end='\n',这样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 参数的换行效果 导致出现空行
Twilight6 发表于 2020-7-8 13:30
print 中的 end 默认参数 在将 print 中的内容全部打印完成后会追加打印一个 end 参数
而 print 的e ...
牛逼 {:10_275:}
页:
[1]