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语言描述连续子数组的最大和
Jan 04 Python
Python socket实现多对多全双工通信的方法
Feb 13 Python
详解python3 + Scrapy爬虫学习之创建项目
Apr 12 Python
Pyqt5 实现跳转界面并关闭当前界面的方法
Jun 19 Python
python 并发编程 阻塞IO模型原理解析
Aug 20 Python
Python小程序之在图片上加入数字的代码
Nov 26 Python
解决tensorflow添加ptb库的问题
Feb 10 Python
序列化Python对象的方法
Aug 01 Python
Python requests接口测试实现代码
Sep 08 Python
python递归函数用法详解
Oct 26 Python
python实现xml转json文件的示例代码
Dec 30 Python
Python线程池与GIL全局锁实现抽奖小案例
Apr 13 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脚本代码
2011/02/19 PHP
php读取富文本的时p标签会出现红线是怎么回事
2014/05/13 PHP
php基于curl扩展制作跨平台的restfule 接口
2015/05/11 PHP
FleaPHP框架数据库查询条件($conditions)写法总结
2016/03/19 PHP
php连接mysql数据库最简单的实现方法
2019/09/24 PHP
thinkphp框架类库扩展操作示例
2019/11/26 PHP
jQuery帮助之CSS尺寸(五)outerHeight、outerWidth
2009/11/14 Javascript
jquery+css+ul模拟列表菜单具体实现思路
2013/04/15 Javascript
捕获浏览器关闭、刷新事件不同情况下的处理方法
2013/06/02 Javascript
javascript判断是手机还是电脑访问网页的简单实例分享
2014/06/03 Javascript
原生js结合html5制作小飞龙的简易跳球
2015/03/30 Javascript
jQuery mobile 移动web(6)
2015/12/20 Javascript
基于BootStrap Metronic开发框架经验小结【九】实现Web页面内容的打印预览和保存操作
2016/05/12 Javascript
jQuery获取单选按钮radio选中值与去除所有radio选中状态的方法
2017/05/20 jQuery
node.js操作mysql简单实例
2017/05/25 Javascript
Angular移动端页面input无法输入的解决方法
2017/11/14 Javascript
Vue中的异步组件函数实现代码
2018/07/20 Javascript
微信小程序实现弹出层效果
2020/05/26 Javascript
详解如何在vue项目中使用eslint+prettier格式化代码
2018/11/10 Javascript
Vue基于iview实现登录密码的显示与隐藏功能
2020/03/06 Javascript
Node在Controller层进行数据校验的过程详解
2020/08/28 Javascript
[12:36]《DOTA2》国服注册与激活指南全攻略
2013/04/28 DOTA
[41:08]TNC vs VG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
python求素数示例分享
2014/02/16 Python
python中使用psutil查看内存占用的情况
2018/06/11 Python
python base64库给用户名或密码加密的流程
2020/01/02 Python
Python日志syslog使用原理详解
2020/02/18 Python
DHC美国官网:日本通信销售第一的化妆品品牌
2017/11/12 全球购物
卡西欧B级产品官方网站:Casio Outlet
2018/05/22 全球购物
Ado与Ado.net的相同与不同
2014/12/08 面试题
体育老师的教学自我评价分享
2013/11/19 职场文书
教师岗位职责范本
2013/12/29 职场文书
挂科检讨书范文
2014/02/20 职场文书
党员干部公开承诺书
2014/03/26 职场文书
井冈山红色之旅心得体会
2014/10/07 职场文书
利用Python判断你的密码难度等级
2021/06/02 Python