Python实现把回车符\r\n转换成\n


Posted in Python onApril 23, 2015

最近在做cocos2d-x的简明配置,发现有的朋友的文本编辑器,自动将\r\n截断成\n,(在unix上换行使用\n,windows上,换行使用的是\r\n)于是,写了这个脚本,希望对一些朋友有所帮助,不用一行一行去改

import os

def replace(filePath, w2u):
  try:
    oldfile = open(filePath, "rb+")     #这里必须用b打开
    path, name = os.path.split(filePath)
    newfile = open(path + '$' + name, "ba+")
    
    old = b''
    new = b''
    if w2u == True:
      old = b'\r'
      new = b''
    else:
      old = b'\n'
      new = b'\r\n'

    data = b''
    while (True):
      data = oldfile.read(200)
      newData = data.replace(old, new)
      newfile.write(newData)
      if len(data) < 200:
        break
    newfile.close()
    oldfile.close()
    
    os.remove(filePath)
    os.rename(path + '$' + name, filePath)
  except IOError as e:
    print(e)
    
if __name__ == "__main__":
  print("请输入文件路径:")
  filePath = input()
  replace(filePath, False)  #这个改为True就可以实现\n变成\r\n

要注意的是,在python里,像\r\n这样的符号,如果是文本打开的话,是找不到\r\n的,而只能找到'\n',所以必须用b(二进制)模式打开。

Python 相关文章推荐
Python中每次处理一个字符的5种方法
May 21 Python
Python线程详解
Jun 24 Python
Centos下实现安装Python3.6和Python2共存
Aug 15 Python
pycharm 配置远程解释器的方法
Oct 28 Python
python3实现用turtle模块画一棵随机樱花树
Nov 21 Python
python3.8与pyinstaller冲突问题的快速解决方法
Jan 16 Python
Python 模拟生成动态产生验证码图片的方法
Feb 01 Python
Pycharm激活码激活两种快速方式(附最新激活码和插件)
Mar 12 Python
Python celery原理及运行流程解析
Jun 13 Python
python闭包与引用以及需要注意的陷阱
Sep 18 Python
Anaconda详细安装步骤图文教程
Nov 12 Python
Python可视化学习之seaborn绘制矩阵图详解
Feb 24 Python
Python实现对比不同字体中的同一字符的显示效果
Apr 23 #Python
Python3里的super()和__class__使用介绍
Apr 23 #Python
Python实现的飞速中文网小说下载脚本
Apr 23 #Python
Python中使用PyQt把网页转换成PDF操作代码实例
Apr 23 #Python
Python里disconnect UDP套接字的方法
Apr 23 #Python
Python实现的Google IP 可用性检测脚本
Apr 23 #Python
Python3.2中的字符串函数学习总结
Apr 23 #Python
You might like
深入PHP中的HashTable结构详解
2013/06/13 PHP
php返回字符串中所有单词的方法
2015/03/09 PHP
PHP示例演示发送邮件给某个邮箱
2019/04/03 PHP
jQuery 表格插件整理
2010/04/27 Javascript
Javascript设置对象的ReadOnly属性(示例代码)
2013/12/25 Javascript
jquery和javascript中如何将一元素的内容赋给另一元素
2014/01/09 Javascript
基于javascript的JSON格式页面展示美化方法
2014/07/02 Javascript
jQuery文字横向滚动效果的实现代码
2016/05/31 Javascript
json实现添加、遍历与删除属性的方法
2016/06/17 Javascript
JavaScript 监控微信浏览器且自带返回按钮时间
2016/11/27 Javascript
微信小程序 欢迎页面的制作(源码下载)
2017/01/09 Javascript
requirejs + vue 项目搭建详解
2017/06/16 Javascript
webpack将js打包后的map文件详解
2018/02/22 Javascript
详解Webpack如何引入CDN链接来优化编译后的体积
2019/06/21 Javascript
localstorage实现带过期时间的缓存功能
2019/06/28 Javascript
Vue SPA 初次进入加载动画实现代码
2019/11/14 Javascript
javascript实现扫雷简易版
2020/08/18 Javascript
[02:06]2018完美世界全国高校联赛秋季赛开始报名(附彩蛋)
2018/09/03 DOTA
Python使用logging结合decorator模式实现优化日志输出的方法
2016/04/16 Python
浅谈python可视化包Bokeh
2018/02/07 Python
Python数据分析pandas模块用法实例详解
2019/11/20 Python
python 实现矩阵填充0的例子
2019/11/29 Python
Python包,__init__.py功能与用法分析
2020/01/07 Python
matplotlib对象拾取事件处理的实现
2021/01/14 Python
AmazeUi Tree(树形结构) 应用小结
2020/08/17 HTML / CSS
SmartBuyGlasses比利时:购买品牌太阳镜和眼镜
2019/08/09 全球购物
电子商务专业在校生实习自我鉴定
2013/09/29 职场文书
生产副总岗位职责
2013/11/28 职场文书
安全承诺书格式
2014/05/21 职场文书
民间借贷借条范本
2015/05/25 职场文书
幼儿园家长心得体会
2016/01/21 职场文书
《日月潭》教学反思
2016/02/20 职场文书
幽默口才训练经典句子(48句)
2019/08/19 职场文书
Python 线程池模块之多线程操作代码
2021/05/20 Python
SpringBoot项目中控制台日志的保存配置操作
2021/06/18 Java/Android
java开发双人五子棋游戏
2022/05/06 Java/Android