Window下换行符和Linux下的换行符问题(txt文件)

我先简述一下我遇到的问题

我在Window下写了一个txt文件保存图片的索引路径(一行保存一张图的索引),当我把txt文件拷贝到Linux上,打开txt进行图片索引的时候报错不能加载图片,当时我还以为是我的移动硬盘(保存图片)没有挂载上去,后来我新建一个txt文件,复制黏贴一张图片的索引路径,然后就能成功加载图片了…

import os
import glob

file = "five"
dataset = "test"

img_dir = "H:/rgb-piglet/%s/%s/"%(file,dataset)

with open("H:/rgb-piglet/%s/%s.txt"%(file,dataset),"w") as f:
    for i in glob.glob(img_dir+"*.jpg"):
        dirs = os.path.basename(i)
        print(os.path.basename(i))
        f.write("/media/wuzhou/Gap/rgb-piglet/%s/%s/"%(file,dataset)+dirs+'\n')
        #f.writelines("/media/wuzhou/Gap/rgb-piglet/test/"+dirs)

以上是我在Window上打开txt进行写入的操作代码(根据需要,每行的末尾都会+“\n”)

但是Linux上进行txt的读行操作的时候,每个一行读出的字符串末尾都会带着“\n

我分析的原因是Window下的换行符的字符编码和Linux下的字符编码有区别(我认为这是个bug!)

Window系统

在Window下“\r”、“\n”都能实现换行的功能,两种格式保存的txt文件用notepad++软件打开

软件操作:Notepad++ >>>视图 >>>显示符号>>>显示所有符号

显而易见的区别:“\r”格式存储的字符是CR,“\n”格式存储CRLF
在这里插入图片描述

Linux系统

这是我从Linux系统上拷贝下来的一个txt文件,换行的字符是LF,可以看出跟Window有明显的区别
在这里插入图片描述

解决方法

  1. 我自己用的方法的是,在Linux打开txt(gedit软件),然后复制内容(Ctrl+C),全选(Ctrl+A),重新黏贴内容(Ctrl+V),保存(Ctrl+S),亲测有效

  2. 其他方法参考下面的参考文章,里面提出的方法我没有试过,不做评论,over!

参考文章
Linux换行符和Windows换行符的区别与转换

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

G果

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值