(2021-11-16 初稿 - )
Bashでteeを使って以下のように画面とファイルに出力していたスクリプトをWindowsのpythonに移植しようとして困った。^^;
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文をコメント化すればファイル書き込みのみに簡単に変更できて便利。
他にいい方法があったら教えてください。