Python怎么把/r/n替换成/n?

在文本编辑器中会自动将\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(二进制)模式打开。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值