最近会社で文字列でコード処理を書く必要があったので軽くメモとして残しておきます。
よくあるシチュエーションですが、保守対応でエンコード後のファイイルだけが資料として存在しているためデコードして読めるようにする必要があるという物です。
以下のコードでquoted-pritableを可読なものに変更します。
import sys
import quopri
args=sys.argv
inputfile = args[1]
outputfile = args[2]
# ファイル読み込み
with open(inputfile, 'r', encoding='utf-8') as f:
#with open(inputfile, 'b') as f:
data = f.read()
# 変換
pre_decoded = quopri.decodestring(data,header=False)
decoded = pre_decoded.decode("utf-8", "ignore")
# 出力
with open(outputfile, 'w', encoding='utf-8') as fo:
fo.write(decoded)