2016-10-06 1 views
0

Windowsデバイス上の.txtファイルで作業しているときは、ANSI、Unicode、Unicodeビッグエンディアン、またはUTF-8として保存する必要があります。私は.txtファイルをエンコードするために使用すべき特定の形式がありますPython3でファイルを開くときにパラメータをエンコードするのを避ける方法

with open('ships.txt', 'r', encoding='utf-8') as f: 
    for line in f.readlines(): 
     print(line) 

:私はOSXデバイス上でのpython3を実行し、インポートし、.txtファイルを読み込むしようとすると、私はの線に沿って何かをしなければなりませんPythonでファイルを開くときにエンコーディングパラメータを追加しないようにするには、Windowsデバイスで?

+0

エンコーディング推測を使用するか、読み込むファイルにBOMを追加することができます。 –

+0

@Ni。 BOMを追加することは役に立ちません。 'open'はエンコーディングの検出にそれらを使用しません。 –

+0

@ Mark Tolonen昨日そうだったけど、おそらく 'encodings'ライブラリにはBOMを使ったオープン関数があると思います –

答えて

0

OSXデバイスのlocale.getpreferredencoding(False)に電話してください。これは、そのデバイス上のファイルを読み込むために使用されるデフォルトのエンコーディングです。 Windowsでそのエンコーディングを保存すると、OSXデバイスでエンコーディングを指定する必要はありません。

しかし、Zen of Pythonによれば、「明示的」は「明示的」よりも優れています。あなたはエンコーディングを知っているので、それを指定しないのはなぜですか?

関連する問題