Python 換行符轉換

2021-07-09 04:04:37 字數 1432 閱讀 6585

因為工作需求,需要把目錄下的所有換行符轉換為windows換行符'\r\n',檔案太多,只好寫乙個簡單的python指令碼轉換。

import os

import os.path

rootdir = r'd:/src'

def replace(filename):

try:

oldfile = open(rootdir+'/'+filename, 'rb+')

newfile = open(rootdir + '$' + filename, 'ab+')

old = b'\r'

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(rootdir+'/'+filename)

os.rename(rootdir + '$' + filename, rootdir+'/'+filename)

except ioerror as e:

print(e)

for parent,dirnames,filenames in os.walk(rootdir):

if parent[-3:] != 'src': # 我只替換當前目錄下的,不替換子目錄

print "==:",parent

continue

for filename in filenames:

if filename[-4:] != '.cpp' and filename[-2:] != '.h': # 只替換特定型別檔案

print "file:",filename

continue

replace(filename)

#print "parent is:" + parent

#print "filename is:" + filename

#print "the full name of the file is:" + os.path.join(parent,filename)

而且檔案型別比較亂,既有windows('\r\n'),linux('\n'),mac('r'),我要統一轉為

windows('\r\n')

就想到一種方法。

1.'\r\n'->'\r',

2.'\n'->'\r',

3.'\r'->'\r\n',

前兩步先把\n去掉,全部換為\r,這樣就方便全部替換為\r\n,不然總有多餘的\r或者\n.

textarea換行符轉換

description textarea換行符轉指定字元 param str 要放到textarea的字串 param code 要轉換成換行的字元,預設為 export const textareatostring str,code description 轉為textarea換行符 param ...

git換行符自動轉換

將專案從svn上遷移到git遇到了乙個問題,就是git clone專案,發現金鑰之類的檔案比原來要大了,金鑰檔案也沒有辦法使用了。後來發現 當你clone檔案時,git試圖將unix換行符 lf 替換為windows的換行符 crlf 當你在提交檔案時,它又試圖將crlf替換為lf。解決這個問題很簡...

ubuntu 和dos 換行符 轉換

windows dos 下的換行符 和 linux ubuntu 下的換行符是不同的。在涉及到dos下的文字 在linux下 操作時,就涉及到換行符不同帶來的麻煩。在dos使用的換行符為 m 我們稱為cr與lf兩個符號。而在linux中,則僅有lf 這個換行符。這個換行符對於 linux的影響很大。...