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中MySQLdb模块用法实例
Nov 10 Python
在Python中使用HTMLParser解析HTML的教程
Apr 29 Python
玩转python selenium鼠标键盘操作(ActionChains)
Apr 12 Python
Python制作豆瓣图片的爬虫
Dec 28 Python
Python+OpenCV让电脑帮你玩微信跳一跳
Jan 04 Python
Python实现XML文件解析的示例代码
Feb 05 Python
pycharm安装和首次使用教程
Aug 27 Python
python程序 创建多线程过程详解
Sep 23 Python
利用python3 的pygame模块实现塔防游戏
Dec 30 Python
pytorch torchvision.ImageFolder的用法介绍
Feb 20 Python
使用Pytorch实现two-head(多输出)模型的操作
May 28 Python
Python数据结构之队列详解
Mar 21 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
实现WordPress主题侧边栏切换功能的PHP脚本详解
2015/12/14 PHP
javascript 函数调用规则
2009/08/26 Javascript
打造基于jQuery的高性能TreeView(asp.net)
2011/02/23 Javascript
Jquery加载时从后台读取数据绑定到dropdownList实例
2013/06/09 Javascript
使用纯javascript实现经典扫雷游戏
2015/04/23 Javascript
JavaScript中的Math.E属性使用详解
2015/06/12 Javascript
JavaScript中原型链存在的问题解析
2016/09/25 Javascript
Bootstrap Modal遮罩弹出层代码分享
2016/11/21 Javascript
前端页面文件拖拽上传模块js代码示例
2017/05/19 Javascript
Angular2中如何使用ngx-translate进行国际化
2017/05/21 Javascript
关于JavaScript中的this指向问题总结篇
2017/07/23 Javascript
Mobile Web开发基础之四--处理手机设备的横竖屏问题
2017/08/11 Javascript
webpack3之loader全解析
2017/10/26 Javascript
Vue2.0 给Tab标签页和页面切换过渡添加样式的方法
2018/03/13 Javascript
vue 中swiper的使用教程
2018/05/22 Javascript
JavaScript实用代码小技巧
2018/08/23 Javascript
浅谈angular表单提交中ng-submit的默认使用方法
2018/09/30 Javascript
Vue组件的使用及个人理解与介绍
2019/02/09 Javascript
node.js中事件触发器events的使用方法实例分析
2019/11/23 Javascript
解决Vue.js应用回退或刷新界面时提示用户保存修改问题
2019/11/24 Javascript
python使用urllib模块和pyquery实现阿里巴巴排名查询
2014/01/16 Python
Python中利用xpath解析HTML的方法
2018/05/14 Python
Python IDLE清空窗口的实例
2018/06/25 Python
pandas数据集的端到端处理
2019/02/18 Python
Python JSON格式数据的提取和保存的实现
2019/03/22 Python
Python操作Sqlite正确实现方法解析
2020/02/05 Python
Pytorch对Himmelblau函数的优化详解
2020/02/29 Python
解决H5的a标签的download属性下载service上的文件出现跨域问题
2019/07/16 HTML / CSS
机电专业大学生职业规划书范文
2014/02/25 职场文书
促销活动总结怎么写
2014/06/25 职场文书
离婚协议书范本(通用篇)
2014/11/30 职场文书
捐助倡议书
2015/01/19 职场文书
大学生活感想
2015/08/10 职场文书
使用python向MongoDB插入时间字段的操作
2021/05/18 Python
Java 实战项目之家居购物商城系统详解流程
2021/11/11 Java/Android
MYSQL如何查看操作日志详解
2022/05/30 MySQL