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 相关文章推荐
Windows中使用wxPython和py2exe开发Python的GUI程序的实例教程
Jul 11 Python
flask使用session保存登录状态及拦截未登录请求代码
Jan 19 Python
Python使用cx_Oracle模块操作Oracle数据库详解
May 07 Python
Python参数解析模块sys、getopt、argparse使用与对比分析
Apr 02 Python
python SVD压缩图像的实现代码
Nov 05 Python
解决tensorflow 释放图,删除变量问题
Jun 23 Python
解决Python3.7.0 SSL低版本导致Pip无法使用问题
Sep 03 Python
Python3.9新特性详解
Oct 10 Python
Ubuntu配置Pytorch on Graph (PoG)环境过程图解
Nov 19 Python
Python爬虫爬取微博热搜保存为 Markdown 文件的源码
Feb 22 Python
python+pytest接口自动化之token关联登录的实现
Apr 06 Python
请求模块urllib之PYTHON爬虫的基本使用
Apr 08 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
从零开始学YII2框架(二)通过 Composer 安装扩展插件
2014/08/20 PHP
php数组操作之键名比较与差集、交集赋值的方法
2014/11/10 PHP
php实现的一个简单json rpc框架实例
2015/03/30 PHP
thinkphp,onethink和thinkox中验证码不显示的解决方法分析
2016/06/06 PHP
Laravel如何实现适合Api的异常处理响应格式
2020/06/14 PHP
Jquery Ajax.ashx 高效分页实现代码
2009/10/20 Javascript
JQuery选择器特辑 详细小结
2012/05/14 Javascript
js原生appendChild的bug解决心得分享
2013/07/01 Javascript
jQuery Validate 验证,校验规则写在控件中的具体实例
2014/02/27 Javascript
AngularJS 中文API参考手册
2016/07/28 Javascript
vue2.0父子组件间通信的实现方法
2017/04/19 Javascript
vue 自定义 select内置组件
2018/04/10 Javascript
vuejs使用axios异步访问时用get和post的实例讲解
2018/08/09 Javascript
vue-cli webpack 引入swiper的操作方法
2018/09/15 Javascript
仿ElementUI实现一个Form表单的实现代码
2019/04/23 Javascript
jquery中为什么能用$操作
2019/06/18 jQuery
微信小程序 确认框的实现(附代码)
2019/07/23 Javascript
Vue watch响应数据实现方法解析
2020/07/10 Javascript
[05:41]2014DOTA2西雅图国际邀请赛 小组赛7月10日TOPPLAY
2014/07/10 DOTA
[33:09]完美世界DOTA2联赛循环赛 Forest vs DM BO2第二场 10.29
2020/10/29 DOTA
Python基于Tkinter实现的记事本实例
2015/06/17 Python
浅析Python的Django框架中的Memcached
2015/07/23 Python
Python Queue模块详细介绍及实例
2016/12/27 Python
pygame实现贪吃蛇游戏(下)
2019/10/29 Python
python分布式编程实现过程解析
2019/11/08 Python
python3-flask-3将信息写入日志的实操方法
2019/11/12 Python
Pytorch实现各种2d卷积示例
2019/12/30 Python
璀璨的珍珠、密钉和个性化珠宝:Lily & Roo
2021/01/21 全球购物
表彰大会主持词
2014/03/26 职场文书
企业精神口号
2014/06/11 职场文书
2015年财务试用期工作总结
2014/12/24 职场文书
2015年大学生党员承诺书
2015/04/27 职场文书
复兴之路观后感
2015/06/02 职场文书
《小摄影师》教学反思
2016/02/18 职场文书
golang通过递归遍历生成树状结构的操作
2021/04/28 Golang
javascript代码简写的几种常用方式汇总
2021/08/23 Javascript