[Python] 338 ディレクトリ内ファイルの文字コード一括変換 上書きの場合

[M1 Mac, Big Sur 11.6.8, Python 3.10.4]

Pythonに関する記事は約1ヶ月ぶりです。

最近TCP/IPに関する書籍を購入したのですが、サンプルコードの文字コードがEUC-JPなので以下のコードでUTF-8に一括変換しました。

サンプルコードのディレクトリをコピーして上書き変換させています。過去に類似の記事がありますが、別ファイルへ変換したケースです。

import glob,subprocess

dir = "/sample_code/CSockets_copy"
paths_c = glob.glob(dir + "/**/*.c", recursive=True)
paths_h = glob.glob(dir + "/**/*.h", recursive=True)

paths_c.extend(paths_h)

print(paths_c)
print(len(paths_c))

for path in paths_c:
    cmd = "nkf -w --overwrite %s" %path
    subprocess.call(cmd, shell=True)