python去掉txt文件行尾换行

枫铃3年前 (2021-09-30)Python245

误区

  • 使用python对txt文件进行读取使用的语句是open(filename, ‘r’)
  • 使用python对txt文件进行写入使用的语句是open(fileneme, ‘w’)
  • 所以如果 要通过python对原始文件读取后,直接进行重新写入到原始文件 , 即读到原始文件中有"\n"或"\r\n" 的地方,然后直接删除字符这是不现实的。应该是先通过 open(filename, ‘r’) 读取原始文件内容,再使用open(fileneme, ‘w’) 将删除了行尾回车符的字符串写入到新的文件中。 即要做 读写分离 。

实例

对于原始文件
在这里插入图片描述
使用以下语句只是对读出的内容删除了行尾的换行符,而不是真正将修改的结果写入到原始的文件中。

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
filename = "./text.txt"
with open(filename, 'r') as f:
    print("open OK")
    for line in f.readlines():
        for a in line:
            # print(a)
            if a == '\n':
                print("This is \\n")
                a = " "
    for line in f.readlines():
        for a in line:
            if a == '\n':
                print("This is \\r\\n")
    for line in f.readlines():
        line = line.replace("\n", " ")
        line = line.strip("\n")

"""open OK
This is \n
This is \n
This is \n
This is \n
This is \n
This is \n
This is \n
This is \n
This is \n
This is \n
This is \n
This is \n
This is \n
This is \n
This is \n
This is \n
"""

但是原始文件并没有被修改

正确做法

将文件中的读取后,使用写语句将修改后的内容重新写入新的文件中

with open('./text_1.txt', 'w') as f:
    with open('./text.txt', 'r') as fp:
        for line in fp:
            line = str(line).replace("\n", " ")
            f.write(line)

在这里插入图片描述

相关文章

python中%r和%s的区别

%s用str()方法处理...

从Python代码到APP,你只需要一个小工具:GitHub已超3000星

从Python代码到APP,你只需要一个小工具:GitHub已超3000星

机器学习开发者想要打造一款 App 有多难?事实上,你只需要会 Python 代码就可以了,剩下的工作都可以交给一个...

python 的 str bytes 区别

在Python 3版本中...

python 使用dir() help() 查看一个对象所有拥有的方法和属性

可以使用python 的内置方法 dir() 或者help() 查看 某个对象所拥有的方法和属性, 二者间的区别是: dir() : 只是得到方法或者属性...

Python 中的hash

【问题背景】我自定义了O...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。