前几天男朋友从网上复制一段文字,全是一个字一行的,于是他打开word疯狂delete ,
几百行的最后敲成几百个字,费时又费力。
当时我教他以后可以用notepad编辑功能处理,今天摸鱼时想用代码来处理下
已知的需求是文字都是一个字一行,会有空格的情况。想法就是用replace直接处理掉。考虑到python理解的换行是’\n’和\r’,所以都需要处理一下。

#用作测试 把一段话一行行写入
data ='千山鸟飞绝,万径人踪灭 孤舟蓑笠翁,独钓寒江雪'
data = list(data)
with open ('../caogaoben/py1.txt','w+') as f1:
    for i in data:
        f1.write(i+'\r')#python文件换行写入

python怎么去掉换行符 python中如何取消换行_python怎么去掉换行符

读取一行行的字把他变成一行

with open('../caogaoben/py1.txt','r+') as f1:
    data=f1.read()
    data = data.replace('\n', '').replace('\r', '')
    f1.write(data)
    print(data)

我用的是r+模式,打开文件时,指针在文件结尾,不会去删除之前的文件,方便检查。执行结果是

python怎么去掉换行符 python中如何取消换行_python怎么去掉换行符_02


到这里基本功能已经实现了,现在加一个入口,他直接贴入文件路径就可以直接用了,以下是完整代码

add = input("请输入完整的路径,如 C:\\Users\\admin\\Desktop\\py1.txt:")
add=add.strip()#发现他有时候输入的时候前后可能有空格,所以优化了一下
with open(add,'a+',encoding='utf-8') as f1: #a+是写在最后,方便打开文档检查
    f1.seek(0)#指针回到第一位
    data=f1.read()
    data = data.replace('\n', '').replace('\r', '').replace(' ','')#替换掉所有换行和空格
    f1.write(data)
    print(data)#打印出来直接就可以复制了,不需要再打开文件

就几行就解决啦,再在桌面给他做一个bat文件,这样他每次就只需要在我建好的文件里面输入要转换的文字,然后在bat文件里复制我写好的地址回车就行啦。
如果路径不是我预留的路径,只需要改一下地址就可以了~

python怎么去掉换行符 python中如何取消换行_python_03

如果路径不是我预留的路径,只需要改一下地址就可以了~

python怎么去掉换行符 python中如何取消换行_python怎么去掉换行符_04


就此完成~ 虽然需求很简单,但是还是很有成就感啦~

-------又来更新啦------
考虑到每次他用还要去开我电脑会很麻烦,所以想到干脆打个包给他装在本地用就可以了

于是百度了下,作为测试,还是第一次打包呢~

记录一下

1.先安装一个打包的插件

pip install pyinstaller

2.在控制台输入 pyinstaller -F level\D4.py

【level\D4.py是当前路径下的地址】

python怎么去掉换行符 python中如何取消换行_python_05


执行后 ,会在dist文件夹生成一个exe文件。

python怎么去掉换行符 python中如何取消换行_python_06


即打包完成~