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 过滤字符串的技巧,map与itertools.imap
Sep 06 Python
Python编程实现删除VC临时文件及Debug目录的方法
Mar 22 Python
Django管理员账号和密码忘记的完美解决方法
Dec 06 Python
Python获取Redis所有Key以及内容的方法
Feb 19 Python
Python3.5 Pandas模块之Series用法实例分析
Apr 23 Python
python利用selenium进行浏览器爬虫
Apr 25 Python
选择python进行数据分析的理由和优势
Jun 25 Python
Numpy中对向量、矩阵的使用详解
Oct 29 Python
django 模型中的计算字段实例
May 19 Python
Python 多进程、多线程效率对比
Nov 19 Python
Python第三方库安装缓慢的解决方法
Feb 06 Python
教你怎么用Python selenium操作浏览器对象的基础API
Jun 23 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与MySQL开发中页面乱码的产生与解决
2008/03/27 PHP
php radio 单选框获取与保持值的实现代码
2010/05/15 PHP
Yii框架日志操作图文与实例详解
2019/09/09 PHP
use jscript List Installed Software
2007/06/11 Javascript
使用JQuery进行跨域请求
2010/01/25 Javascript
js特殊字符过滤的示例代码
2014/03/05 Javascript
div失去焦点事件实现思路
2014/04/22 Javascript
JS小游戏之仙剑翻牌源码详解
2014/09/25 Javascript
javascript实现选中复选框后相关输入框变灰不可用的方法
2015/08/11 Javascript
JavaScript高级教程5.6之基本包装类型(详细)
2015/11/23 Javascript
轻松实现js选项卡切换效果
2016/09/24 Javascript
Bootstrap3 图片(响应式图片&amp;图片形状)
2017/01/04 Javascript
bootstrap weebox 支持ajax的模态弹出框
2017/02/23 Javascript
jQuery插件FusionCharts绘制2D柱状图和折线图的组合图效果示例【附demo源码】
2017/04/10 jQuery
angular过滤器实现排序功能
2017/06/27 Javascript
Vue.js中 v-model 指令的修饰符详解
2018/12/03 Javascript
javaScript中indexOf用法技巧
2019/11/26 Javascript
JS中作用域以及变量范围分析
2020/07/18 Javascript
jquery实现异步文件上传ajaxfileupload.js
2020/10/23 jQuery
python 多维切片之冒号和三个点的用法介绍
2018/04/19 Python
python实现批量图片格式转换
2020/06/16 Python
在python image 中实现安装中文字体
2020/05/16 Python
Python环境搭建过程从安装到Hello World
2021/02/05 Python
HTML5 语义化结构化规范化
2008/10/17 HTML / CSS
MUGLER官方网站:蒂埃里·穆勒香水
2019/11/26 全球购物
建筑专业自荐信范文
2014/01/05 职场文书
父亲的菜园教学反思
2014/02/13 职场文书
党员十八大心得体会
2014/09/12 职场文书
计算机实训报告范文
2014/11/05 职场文书
幼儿教师辞职信
2015/02/27 职场文书
指导老师鉴定意见
2015/06/05 职场文书
大学生村官驻村工作心得体会
2016/01/23 职场文书
公司会议开幕词
2016/03/03 职场文书
在 SQL 语句中处理 NULL 值的方法
2021/06/07 SQL Server
剖析后OpLog订阅MongoDB的数据变更就没那么难了
2022/02/24 MongoDB
Nginx+Windows搭建域名访问环境的操作方法
2022/03/17 Servers