鱼C论坛

 找回密码
 立即注册
查看: 2461|回复: 5

[已解决]老哥们,为什么用迭代打印文件就会换行两次呀?

[复制链接]
发表于 2020-12-4 14:48:39 | 显示全部楼层 |阅读模式

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

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

x
百度到了解决的办法,但是没有讲原因,为什么遇到换行符就是两次换行,普通字符就是正常打印
最佳答案
2020-12-4 14:55:27
因为读取到的文本包含换行符,print()又默认行尾打印一个换行符,这就是两个换行符了,print加个参数end=''就行,或者把读取到的字符的换行符替换成空字符。
QQ图片20201204144213.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-12-4 14:53:10 | 显示全部楼层
看代码说话
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-12-4 14:55:27 From FishC Mobile | 显示全部楼层    本楼为最佳答案   
因为读取到的文本包含换行符,print()又默认行尾打印一个换行符,这就是两个换行符了,print加个参数end=''就行,或者把读取到的字符的换行符替换成空字符。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-12-4 15:52:29 From FishC Mobile | 显示全部楼层
for i in f:
    prinr(i . strip())
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-12-4 20:07:39 | 显示全部楼层
hrp 发表于 2020-12-4 14:55
因为读取到的文本包含换行符,print()又默认行尾打印一个换行符,这就是两个换行符了,print加个参数end='' ...

老哥,用 for i in f 迭代出来的i,每次迭代的i不是单个字符而是一行字符吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-12-4 20:19:34 From FishC Mobile | 显示全部楼层
逐梦者 发表于 2020-12-4 20:07
老哥,用 for i in f 迭代出来的i,每次迭代的i不是单个字符而是一行字符吗?

直接对打开的文件对象迭代,每次都是一行的,行尾包含换行符
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-17 02:49

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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