鱼C论坛

 找回密码
 立即注册
查看: 3650|回复: 20

[已解决]Mac系统无法自动换行

[复制链接]
发表于 2020-6-16 06:42:58 From FishC Mobile | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 CsjIu 于 2020-6-16 07:51 编辑
<<< f =open('/Users/CBA/聊天记录换行测试.txt')
<<<f.seek(0,0)
<<<for each_line in f:
            print(each_line)
就这样的,读取文本后不能自动换行,请教一下是哪里的问题?
最佳答案
2020-6-16 09:37:41
CsjIu 发表于 2020-6-16 09:09
原来是以上这样的格式



我知道了 ,是我混淆了,在文本中直接添加 \n 并不会起到换行的效果

当你在 IDLE 界面直接进行进行读取文件时候,而不是打印这个时候会显示文本全部内容而且不是换行的那种

而你会发现你自己写在文本中的换行符前面多了一个\  是因为Python 自动帮你转义了 导致打印出了 \n 而不是换行效果
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-6-16 07:02:20 | 显示全部楼层


当你打开个txt文件对象,对这个文件对象直接进行遍历循环,就是每次都以一行为单位来读取文本内容的

所以不是无法换行,而是你的代码错误,而且如果你是以只读方式打开,默认的文件指针就为文件开始位置,不需要我们重新 seek 条件到开始位置

你的 f 只是个路径,而不是打开文件,我们打开文件要用到 open 函数,正确代码如下:
f = open('/Users/CBA/聊天记录换行测试.txt')
for each_line in f:
    print(each_line)

而且你print打错了,P是小写的




想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2020-6-16 08:00:00 | 显示全部楼层
本帖最后由 xiaosi4081 于 2020-6-16 08:01 编辑
f =open('/Users/CBA/聊天记录换行测试.txt')
for each_line in f:
            print(each_line)
不要偷懒,一行一行的输入
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-16 08:28:08 From FishC Mobile | 显示全部楼层
Twilight6 发表于 2020-6-16 07:02
当你打开个txt文件对象,对这个文件对象直接进行遍历循环,就是每次都以一行为单位来读取文本内容的

...

       谢谢前辈的指正,我第一次发贴太不严谨了,在备忘录随意打的,忘记核对。我刚核对了一下交互模式的记录,这些问题是没错,标点符号什么的也都确认过了。
       所以在以上列出的都没问题后,还尝试了在要读取的文本里的对话,各在句子加入单引号,还在加了引号的句子末尾加上\n,也尝试过\r,见笑了。
       最后只能自己先在要读取的文本里在每句对话后用回车,打出一个换行来。而后在交互模式里读取出来的才会是每句对话隔了个换行,还多隔了一个空白行。
        例如以前文本里的是:
‘abc:5688886444\n’,’efg:88754323\n’,abc:66643899\n’,这样的格式,那在交互模式读取出来也是一样格式,就是没换行的。
如果文本里的对话修改成以下换行的格式话(貌似行间距没这么大),这么大的行间距就是我读取文本后的样子了,就是每个对话间有了换行,然后每行之间还多了空行
‘abc:5688886444\n’,’
efg:88754323\n’,
abc:66643899\n’,
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-16 08:31:07 | 显示全部楼层
本帖最后由 Twilight6 于 2020-6-16 09:42 编辑
CsjIu 发表于 2020-6-16 08:28
谢谢前辈的指正,我第一次发贴太不严谨了,在备忘录随意打的,忘记核对。我刚核对了一下交互模式 ...



因为第二种实际 print 函数 默认有个 end 参数为换行符号,加上文本中自带的的换行导致换行两次出现空行

实际上文本内的换行已经自带了 \n 了 你再次添加的 \n 会被 Python 自动转义 ,也就是 Python 会自动帮你输出内容时候加上一个 \ 转义字符 导致打印出 \n 而没有 换行效果
abc:5688886444
efg:88754323
abc:66643899
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-16 08:33:13 From FishC Mobile | 显示全部楼层
本帖最后由 CsjIu 于 2020-6-16 08:35 编辑
Twilight6 发表于 2020-6-16 08:31
因为第二种实际上你你多添加了换行符号导致你会出现空行,因为你自行添加了 \n

实际上文本内的换行 ...


没加的话,就不会自动换行啊,我最开始就是没添加的,然后就算有添加换行符,我如果调成对话后,隔个逗号就接着对话的格式,它读取出来也不会换行
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-16 08:33:37 | 显示全部楼层
CsjIu 发表于 2020-6-16 08:28
谢谢前辈的指正,我第一次发贴太不严谨了,在备忘录随意打的,忘记核对。我刚核对了一下交互模式 ...

你可以尝试着吧文本 新建为楼上的内容

然后进行下面的代码:
f = open('/Users/CBA/聊天记录换行测试.txt')
content = []
for each_line in f:
    content.append(each_line)
print(content)
此时你就会发现 列表里的每一个字符串结尾都是一个 \n 换行符

打印的时候会将 \n 打印换行,所以你看不见这些 转义字符
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-16 08:37:26 | 显示全部楼层
CsjIu 发表于 2020-6-16 08:33
没加的话,就不会自动换行啊,我最开始就是没添加的,然后就算有添加换行符,我如果调成对话后,隔个逗 ...


如图:

会发现每行字符串自带了 \n  而 最后一个没带 是因为最后行我文本内没换行

123.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-16 08:45:46 From FishC Mobile | 显示全部楼层
Twilight6 发表于 2020-6-16 08:33
你可以尝试着吧文本 新建为楼上的内容

然后进行下面的代码:

       的确是这样。其实我现在的文本格式分为三段对话的,中间用=号分隔开了,这个你也知道。我第一段对话加了换行符,但是没有把对话用回车换行,第二段和第三段没有加换行符,但是用回车换行了。结果读取出来的只有二 三段有换行。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-16 08:45:46 | 显示全部楼层
CsjIu 发表于 2020-6-16 08:33
没加的话,就不会自动换行啊,我最开始就是没添加的,然后就算有添加换行符,我如果调成对话后,隔个逗 ...

5L 描述有误,已重新修改
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-16 08:47:51 | 显示全部楼层
CsjIu 发表于 2020-6-16 08:45
的确是这样。其实我现在的文本格式分为三段对话的,中间用=号分隔开了,这个你也知道。我第一段对 ...
我第一段对话加了换行符,但是没有把对话用回车换行,第二段和第三段没有加换行符,但是用回车换行了。结果读取出来的只有二 三段有换行。


那你的文本内容是这样的吗?
abc:5688886444\nefg:88754323
abc:66643899
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-16 09:05:27 From FishC Mobile | 显示全部楼层
本帖最后由 CsjIu 于 2020-6-16 09:06 编辑

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-6-16 09:08:44 From FishC Mobile | 显示全部楼层
本帖最后由 CsjIu 于 2020-6-16 09:23 编辑
Twilight6 发表于 2020-6-16 08:47
那你的文本内容是这样的吗?


iu:5363636356363636436436)\n','csj:7367657654757587856,iu:trtrwtwtw,6356456346534\n',sj:7646764765745fgfdds56456\n',iu:在4353463636
sj:'fgfsgsfgsdgs水 ^ ^)。i

=================================================================================
iu:453676376767367,
sj:47437643736473647;
iu:64464565465隘,6546546。
sj:56256536436,
iu:453634563456354653465。
=================================================================================
iu:564563457676了。
iu:47346734743734734734。
sj:7367367373743734734,
iu:同54345747476373647。
sj:我4367467,
iu:6747473人\
sj:他43746747346,
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-16 09:09:49 From FishC Mobile | 显示全部楼层
Twilight6 发表于 2020-6-16 08:47
那你的文本内容是这样的吗?

原来是以上这样的格式
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-16 09:37:41 | 显示全部楼层    本楼为最佳答案   
CsjIu 发表于 2020-6-16 09:09
原来是以上这样的格式



我知道了 ,是我混淆了,在文本中直接添加 \n 并不会起到换行的效果

当你在 IDLE 界面直接进行进行读取文件时候,而不是打印这个时候会显示文本全部内容而且不是换行的那种

而你会发现你自己写在文本中的换行符前面多了一个\  是因为Python 自动帮你转义了 导致打印出了 \n 而不是换行效果
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-16 11:01:08 From FishC Mobile | 显示全部楼层
Twilight6 发表于 2020-6-16 09:37
我知道了 ,是我混淆了,在文本中直接添加 \n 并不会起到换行的效果

当你在 IDLE 界面直接进行进 ...

原来啊,那我之前看视频的时候,应该是他已经先把文本都编辑好了。多谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-16 11:01:59 | 显示全部楼层
CsjIu 发表于 2020-6-16 11:01
原来啊,那我之前看视频的时候,应该是他已经先把文本都编辑好了。多谢

没事  ~ 加油!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-16 11:04:05 From FishC Mobile | 显示全部楼层
对了,我要把整段代码左移,是要按什么键吗?我知道右移是tab,tab+shift也是右移。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-16 11:12:08 From FishC Mobile | 显示全部楼层
Twilight6 发表于 2020-6-16 11:01
没事  ~ 加油!


18楼CsjIu 楼主
7 分钟前
对了,我要把整段代码左移,是要按什么键吗?我知道右移是tab,tab+shift也是右移。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-16 11:17:03 | 显示全部楼层
CsjIu 发表于 2020-6-16 11:12
18楼CsjIu 楼主
7 分钟前
对了,我要把整段代码左移,是要按什么键吗?我知道右移是tab,tab+shift也 ...

我记得是 Ctrl + [ 你试试  Pycharm 才是 Shift + Tab
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-11 14:28

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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