Skip to content
12月 11 / rakkyoo

Pythonでos.systemを使ってファイルの文字コード変更

普段,ファイルの文字コードを変更する時は,
「nkf」を使っています.

macでは,macport経由で簡単にインストールできます.

1
$ sudo port install nkf

使いかたは,

↑で,以前書いた通りですが,とっても簡単で,
test.txtを上書きで「shiftJIS」 → 「UTF-8」に変換したい場合は,

1
$ nkf -w --overwrite test.txt

とするだけ,
改行コードも一緒に変更するのも簡単で,

1
$ nkf -w -Lu --overwrite test.txt

とすれば,「-Lu」で改行コードを「LF」に変更してくれます.

私は,Pyhtonでファイルを読み込むときは,文字コードを「UTF-8」で,改行コードを「LF」としたいため,ファイルを読み込む前に,「os.system」を使ってファイルを変換しています.

test.txtの変換をしたいときは,

1
2
3
4
import os
 
input_file_name = "test.txt"
os.system("nkf -w -Lu --overwrite %s" % input_file_name)

とすると,変換されます.

ファイル出力時に,ShiftJISに変換したい場合は,

1
2
3
4
import os
 
output_file_name = "out.txt"
os.system("nkf -s --overwrite %s" & output_file_name)

として,shiftJISに変換して出力できます.

Pythonの関数を使うのも便利ですが,使いなれたシェル上の関数を簡単に使えるのがos.systemの便利なところですね.
文字列フォーマットとして,差し込み(%を使って)もあわせれば,いろいろとできそうです.

とっても快適に.

[`twib` not found]

Leave a comment

CAPTCHA


This blog is kept spam free by WP-SpamFree.