2020年2月4日 星期二

Python Windows 換行符號與 Unix 換行轉換 ( convert CRLF to LF )

Convert CRLF to LF


     def convertCRLFtoLF(self, filename):

          WINDOWS_LINE_ENDING = b'\r\n'
          UNIX_LINE_ENDING = b'\n'

          with open(filename, "rb") as f:
               content = f.read()
          
          with open(filename, "wb") as f:
               content = content.replace(WINDOWS_LINE_ENDING, UNIX_LINE_ENDING)
               f.write(content)

    用 rb wb 而不是 r w
    如果用 r w 開啟 Text Mode,不管你是 windows 還是 unix ,換行都會被自動轉成 \n。所以用 str.replace() 取代不了,因為找不到 \r\n。
    用 binary string
    如果沒有特別宣告,python3 會用 utf-8 去讀取操作,所以前加個 b 。

參考資料 : stackoverflow/how-to-convert-crlf-to-lf-on-a-windows-machine-in-python

Related Posts:

  • IE CSS 失效 CSS 在 IE 瀏覽器下失效 在網站開發時,總會發現 IE 瀏覽器跟別人不太一樣 最常出事就是 CSS,CSS 在 IE 瀏覽器下失效 提供幾個從 stackoverflow 找的方法能影響下面 Do not code CSS on the HTML file     這裡應該是指 CSS Code 有很多 HTML Code 不一樣,舉個最常出現的例子就是註解。 <style type ="text… Read More
  • Python UnitTest Unit Test      單元測試有一個通用模式 AAA原則,理解了就可以開始實作 Arrange   : 初始化物件、要用到的參數 Act   : 呼叫要測試的方法 Assert   : 驗證測試結果 Python Unit Test      unittest — Uni… Read More
  • 網頁開發(1) 使用 IE 瀏覽器時 Javascript 失效我本人非專業寫網頁,大學沒寫過是進公司才學的,因為沒人維護XD 公司常用瀏覽器是 IE,因為IE可以直接讓你以檔案總管的方式直接開啟 file://... 的超連結,其他瀏覽器都會擋,詳細原因我不知道,但這個可以讓你方便調用 SERVER 上資料,方便很多,其實其他瀏覽器也可以辦到,但要做設定,但不可能你叫公司員工都做這設定,所以大家都用 IE,離題了... JS 檔放到 Server 後無反應     我自己在寫程式時,第… Read More
  • Windows Command Line CMD : Command Line 列出檔案 dir // 列出當前資料夾下的檔案 dir /s // 列出當前資料夾下 + 子資料夾的檔案 dir /? // 列出所有 dir 的指令參數 輸出成檔案 dir /? > 123.txt… Read More
  • MySQL 筆數查詢、分頁查詢 N 筆資料查詢 SELECT * FROM 成績單 LIMIT 3 // 取成績單前三筆資料 SELECT * FROM 成績單 ORDER BY 分數 DESC LIMIT 3 // 取分數前三名的資料 SELECT * FROM 成績單 ORDER BY 分數 DESC LIMIT 3, 7 // 取第四名到第十名的資料 分頁查詢      隨著查詢筆數越來越多,網站可能就會需… Read More

0 意見:

張貼留言

Popular Posts