簡體   English   中英

dos2Unix 和 python 腳本的區別

[英]Difference dos2Unix and python script

我有要轉換為 Unix 格式的文件。 我在選擇 python 轉換方式時可能面臨的差異/問題是什么:

import sys
filename = sys.argv[1]
text = open(filename, 'rb').read().replace('\r\n', '\n')
open(filename, 'wb').write(text)

而不是:在子進程中調用 dos2unix Unix 命令

謝謝 !

來自man dos2unix

Dos2unix 軟件包包括實用程序“dos2unix”和“unix2dos”,用於將 DOS 或 Mac 格式的純文本文件轉換為 Unix 格式,反之亦然。

在 DOS/Windows 文本文件中,換行符(也稱為換行符)是兩個字符的組合:回車 (CR) 后跟換行符 (LF)。 在 Unix 文本文件中,換行符是單個字符:換行符 (LF)。 在 Mac OS X 之前的 Mac 文本文件中,換行符是單個回車 (CR) 字符。 現在 Mac OS 使用 Unix 風格 (LF) 換行符。

除了換行之外,Dos2unix 還可以轉換文件的編碼。 一些 DOS 代碼頁可以轉換為 Unix Latin-1。 並且 Windows Unicode (UTF-16) 文件可以轉換為 Unix Unicode (UTF-8) 文件。

...

-ascii 只轉換換行符。 這是默認的轉換模式。

因此dos2unix可以做的不僅僅是轉換換行符,但默認行為僅此而已。

如果您的文件編碼錯誤,您也必須使用dos2unix處理它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM