ひゃまだのblog

ひゃまだ(id:hymd3a)の趣味のブログ

邪道だけどpythonで画面とファイルへ一度に出力する

(2021-11-16 初稿 - )

Bashでteeを使って以下のように画面とファイルに出力していたスクリプトWindowspythonに移植しようとして困った。^^;

echo "テスト出力" | tee output.txt

pythonでも、難しいことをすれば似たようなことができるようだが面倒そう。

そこで、以下の方法を考えた。

def myprn(s):
    print(s)
    f.write(s + '\n')

with open(output.txt, 'w') as f:
    myprn("テスト出力")

ちょっとかっこ悪いけど、myprn関数のprint分をコメント化すればファイルのみに、write文をコメント化すればファイル書き込みのみに簡単に変更できて便利。

他にいい方法があったら教えてください。

関連ページ