Python实现把回车符\r\n转换成\n

最近在做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(二进制)模式打开。

(0)

相关推荐

  • 将图片文件嵌入到wxpython代码中的实现方法

    下面直接上代码留存,方便以后查阅复用. # -*- coding: utf-8 -*- #作者:LeniyTsan #时间:2014-07-17 import wx from wx.lib.embeddedimage import PyEmbeddedImage class MyFrame1 ( wx.Frame ): def __init__( self, parent ): wx.Frame.__init__ ( self, parent ) self.SetBackgroundColour

  • wxPython定时器wx.Timer简单应用实例

    本文实例讲述了wxPython定时器wx.Timer简单应用.分享给大家供大家参考.具体如下: # -*- coding: utf-8 -*- ######################################################## ## 这是wxPython定时器wx.Timer的简单应用 ## testwxTimer1.pyw ######################################################## import wx impo

  • windows下wxPython开发环境安装与配置方法

    安装文件准备: 安装文件 下载地址 python-2.6.2.msi http://www.python.org/download/ wxPython2.8-win32-unicode-2.8.10.1-py26.exe wxPython2.8-win32-docs-demos-2.8.10.1.exe http://www.wxpython.org/download.php py2exe-0.6.9.win32-py2.6.exe http://sourceforge.net/projects

  • wxpython 最小化到托盘与欢迎图片的实现方法

    一直在学习系统托盘的实现,于是自己写了一个简单的系统托盘实例,右键包括演示.最大化.最小化.退出和关于.在python2.6下测试通过. 注意,本节分享的python实例代码,这里是托盘上的图标弹出菜单是覆盖了CreatePopupMenu. 也可以绑定2个方法,一个wx.EVT_TASKBAR_RIGHT_DOWN,方法里面生成menu,然后再来一个wx.EVT_MENU,定义要处理的事件函数. 还有一个就是Wx窗体上的最小化按钮,触发的事件是 wx.EVT_ICONIZE,而根本就没有定义什

  • wxPython 入门教程

    这篇文章是关于 wxPython,但 wxPython 实际是两件事物的组合体:Python 脚本语言和 GUI 功能的 wxWindows 库(关于 wxWindows 的介绍,请参阅 developerWorks上的 "细述 wxWindows" ).wxWindows 库是为了最大可移植性的 C/C++ 库,而抽取 GUI 功能.所以 wxWindows 应用程序与生俱来地可以运行在 Windows.带 X.KDE 或 Gnome 的 UNIX 或者 wxWindows 已移植到

  • wxPython窗口中文乱码解决方法

    本文实例讲述了wxPython窗口中文乱码解决方法,分享给大家供大家参考.具体方法如下: 文件保存为 utf-8 文件开头添加 # -*- coding: utf-8 -*- 在有中文字符串前加u或U,例如:u"我的网站:http://www.jb51.net" 示例如下: 复制代码 代码如下: # -*- coding: utf-8 -*- import wx class App(wx.App):       def OnInit(self):         frame = wx.

  • python去除文件中空格、Tab及回车的方法

    本文实例讲述了python去除文件中空格.Tab及回车的方法.分享给大家供大家参考,具体如下: 在最近的开发工作中,为了应付比赛赶进度,服务端的json文件都是人工写的,写完之后发现格式都是十分规整,易于人阅读的json,但是客户端请求不需要那些为了格式而在json里面添加的空格.tab.回车等等没用的字符,遂用python写一脚本,去除文件中的空格.回车.换行. 原json文件: { "amount" : "2", "content" : [

  • wxPython事件驱动实例详解

    本文实例讲述了wxPython的事件驱动机制,分享给大家供大家参考.具体方法如下: 先来看看如下代码: #!/usr/bin/python # moveevent.py import wx #导入wx库 class MoveEvent(wx.Frame): def __init__(self, parent, id, title): wx.Frame.__init__(self, parent, id, title, size=(250, 180)) #窗口大小为(250, 180) wx.St

  • python之wxPython菜单使用详解

    本文实例讲述了python中wxPython菜单的使用方法,分享给大家供大家参考.具体如下: 先来看看下面这段代码: import wx APP_EXIT=1 #定义一个控件ID class Example(wx.Frame): def __init__(self, parent, id, title): super(Example,self).__init__(parent, id, title) #调用你类的初始化 self.InitUI() #调用自身的函数 def InitUI(self

  • 使用wxpython实现的一个简单图片浏览器实例

    上次我爬了n多图片,但是浏览的时候有一个问题. 图片浏览器的浏览一般都是按名称排的,而我对图片的命名是按照数字递增的.比如3总是会排在10后面,也就无法快速地浏览图片了. 所以,出于方便自己查阅图片,也出于学习,决定做一个自己的图片浏览器. 目标:浏览目录,通过滚轮不断显示同一个文件夹下的图片,并自定义排序. 步骤0:要实现图形界面,我使用wxPython. 至于如何安装和简单地使用wxpython,可以到网上检索,一大堆资料. 以下步骤默认你已经知道如何生成一个自己的frame. 步骤1:浏览

  • wxPython中文教程入门实例

    wxPython中文教程入门实例 wx.Window 是一个基类,许多构件从它继承.包括 wx.Frame 构件.可以在所有的子类中使用 wx.Window 的方法. wxPython的几种方法:* SetTitle( string title ) -- 设置窗口标题.只可用于框架和对话框. * SetToolTip( wx.ToolTip tip ) -- 为窗口添加提示. * SetSize( wx.Size size ) -- 设置窗口的尺寸. * SetPosition( wx.Poin

  • wxpython中Textctrl回车事件无效的解决方法

    本文实例讲述了wxpython中Textctrl回车事件无效的解决方法.分享给大家供大家参考,具体如下: 今天使用wxptyhon的Textctrl控件开发客户端时遇到了一个问题, 按照HTML表单的逻辑, 我们在Textctrl里回车应该提交查询, 但是wxpython的Textctrl很奇怪, 回车了居然是像Tab作用一样跳转到下一个控件.这样的话,要完成查询, 要么是鼠标点击按钮, 要么需要按两次或者两次以上. Google了一下, 无答案, 但是得到了一些有用的资料: TextCtrl支

随机推荐