首页 > 解决方案 > Python命令从txt文件中删除换行符

问题描述

我正在尝试通过 python 从 txt 文件中删除文本行。我到处寻找并找到了很多答案,但仍然无法得到它。到目前为止,我有这个:

os.system("grep /n /home/pi/Documents/difference.txt >> /home/pi/grep1.txt")

difference.txt 包含以下内容:

192.168.0.***
192.168.0.***
192.168.0.***
192.168.0.***

我希望它看起来像这样:

192.168.0.*** 192.168.0.*** 192.168.0.*** 192.168.0.***

但是 grep1.txt 是空的。

对不起,如果这个问题已经被问过!:-)

编辑
它可以是 shell 或 python,我不在乎。

标签: python

解决方案


如果必须使用 python,一种方法可能是:

with open('difference.txt', 'r') as f:
    c = f.read()

with open('grep1.txt', 'wb') as f:
    # python2.7
    # f.write(''.join(c).replace('\n', ' '))

    # in python3.x:
    f.write(bytes(''.join(c).replace('\n', ' '),  'utf-8'))

产生:

$ cat grep1.txt
192.168.0.*** 192.168.0.*** 192.168.0.*** 192.168.0.*** 

如果你想要一个 unix 工具,也许tr-- 翻译字符:

cat difference.txt | tr '\n' '\0'

推荐阅读