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实现115网盘自动下载的方法
Sep 30 Python
Python标准库之循环器(itertools)介绍
Nov 25 Python
Python实现Pig Latin小游戏实例代码
Feb 02 Python
python-docx修改已存在的Word文档的表格的字体格式方法
May 08 Python
python3.5 email实现发送邮件功能
May 22 Python
用Python编写一个简单的CS架构后门的方法
Nov 20 Python
pytorch 常用线性函数详解
Jan 15 Python
浅谈pandas.cut与pandas.qcut的使用方法及区别
Mar 03 Python
关于win10在tensorflow的安装及在pycharm中运行步骤详解
Mar 16 Python
基于python 凸包问题的解决
Apr 16 Python
python中xlrd模块的使用详解
Feb 01 Python
pycharm debug 断点调试心得分享
Apr 16 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
《Re:从零开始的异世界生活 冰结之绊》
2020/04/09 日漫
SONY ICF-SW07收音机电路分析
2021/03/02 无线电
php 文件上传系统手记
2009/10/26 PHP
PHP性能优化 产生高度优化代码
2011/07/22 PHP
定义php常量的详解
2013/06/09 PHP
php使用codebase生成随机数
2014/03/25 PHP
php实现获取局域网所有用户的电脑IP和主机名、及mac地址完整实例
2014/07/18 PHP
详解PHP序列化反序列化的方法
2015/10/27 PHP
php构造函数与析构函数
2016/04/23 PHP
php+lottery.js实现九宫格抽奖功能
2019/07/21 PHP
JSDoc 介绍使用规范JsDoc的使用介绍
2011/02/12 Javascript
JavaScript 模式之工厂模式(Factory)应用介绍
2012/11/15 Javascript
javascript对话框使用方法(警告框 javascript确认框 提示框)
2014/01/07 Javascript
介绍JavaScript中Math.abs()方法的使用
2015/06/14 Javascript
JavaScript实现弹出模态窗体并接受传值的方法
2016/02/12 Javascript
jQuery height()、innerHeight()、outerHeight()函数的区别详解
2016/05/23 Javascript
JS给swf传参数的实现方法
2016/09/13 Javascript
Bootstrap显示与隐藏简单实现代码
2017/03/06 Javascript
JavaScript和JQuery获取DIV值的方法示例
2017/03/07 Javascript
JS声明对象时属性名加引号与不加引号的问题及解决方法
2018/02/16 Javascript
Python增量循环删除MySQL表数据的方法
2016/09/23 Python
tensorflow 1.0用CNN进行图像分类
2018/04/15 Python
Python爬取数据并写入MySQL数据库的实例
2018/06/21 Python
python列表list保留顺序去重的实例
2018/12/14 Python
python 模拟创建seafile 目录操作示例
2019/09/26 Python
pyCharm 实现关闭代码检查
2020/06/09 Python
Django实现内容缓存实例方法
2020/06/30 Python
keras的三种模型实现与区别说明
2020/07/03 Python
文秘专业自荐信
2013/10/14 职场文书
卫校中专生的自我评价
2014/01/15 职场文书
学习决心书
2014/03/11 职场文书
校园环保广播稿(3篇)
2014/09/15 职场文书
2015社区个人工作总结范文
2015/05/13 职场文书
2016年“6.26”禁毒宣传月系列活动总结
2016/04/05 职场文书
MySQL基础快速入门知识总结(附思维导图)
2021/09/25 MySQL
Kubernetes关键组件与结构组成介绍
2022/03/31 Servers