鱼C论坛

 找回密码
 立即注册
查看: 1779|回复: 4

[已解决]为啥我的程序输出文本的时候有空行???求大佬解答

[复制链接]
发表于 2021-3-26 16:06:22 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 tianyajuanke 于 2021-3-26 16:21 编辑
def read_file(get_file,show_line):
    g_f = open(get_file)
    show_line = int(show_line)
    print('文件'+ get_file + '的前' + str(show_line)+'行的内容如下:')
    while show_line:
        print('%s\n' % g_f.readline())
        show_line -= 1

    g_f.close()
get_file = input('请输入要打开的文件(C:\\test.txt):')
show_line = input('请输入需要显示该文件前几行:')
read_file(get_file,show_line)

1.PNG 2.PNG

上面是我的代码,文本样式和输出结果

讲道理,我的文本中间并没有空行,而我的程序也没有设置多余的空行,

所以,为什么输出结果会有空行,

求大佬解惑!!!Orz

-----------以下是新添加内容---------
我把print('%s\n' % g_f.readline())  改成了         print(g_f.readline())之后,
原先空两行,现在变成空一行了
我也是醉了
为啥啊???
最佳答案
2021-3-26 16:27:10
tianyajuanke 发表于 2021-3-26 16:19
但是神奇的是,我把print('%s\n' % g_f.readline())  改成   print(g_f.readline())之后
还是会有一个空 ...

那是因为  读取文本的方法  g_f.readline()  所读取的内容最后一个就是 换行 "\n"
并且 print 的 end 参数 默认为  end = "\n"
所以重复了

你把   print(g_f.readline())

改成
print(g_f.readline()[:-1])
或者
print(g_f.readline(),end ='')
就好了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-3-26 16:13:42 | 显示全部楼层
本帖最后由 qq1151985918 于 2021-3-26 16:15 编辑

print('%s\n' % g_f.readline())

不是你自己加的 "\n" 么
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-3-26 16:19:11 | 显示全部楼层
qq1151985918 发表于 2021-3-26 16:13
print('%s\n' % g_f.readline())

不是你自己加的 "\n" 么

但是神奇的是,我把print('%s\n' % g_f.readline())  改成   print(g_f.readline())之后
还是会有一个空行
只是之前是空两行
现在变成了空一行...
我也是醉了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-3-26 16:27:10 | 显示全部楼层    本楼为最佳答案   
tianyajuanke 发表于 2021-3-26 16:19
但是神奇的是,我把print('%s\n' % g_f.readline())  改成   print(g_f.readline())之后
还是会有一个空 ...

那是因为  读取文本的方法  g_f.readline()  所读取的内容最后一个就是 换行 "\n"
并且 print 的 end 参数 默认为  end = "\n"
所以重复了

你把   print(g_f.readline())

改成
print(g_f.readline()[:-1])
或者
print(g_f.readline(),end ='')
就好了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-3-26 16:29:04 | 显示全部楼层
qq1151985918 发表于 2021-3-26 16:27
那是因为  读取文本的方法  g_f.readline()  所读取的内容最后一个就是 换行 "\n"
并且 print 的 end 参 ...

哦,原来是这样啊,谢谢大佬,谢谢大佬~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-16 07:42

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表