何がしたいか
paizaのスキルチェックはWeb上で完結しておりますが、ローカルのIDEやテキストエディタでコードを書きたい場合もあると思います。そこで、独自のinput()
を作ってファイルから入力できるようにします。
フォルダ構成
フォルダ構成は以下を想定しております。main.py
が実行するファイルで、utils.py
にinput()
の実装を書きます。
paiza/
in_1.txt
main.py
utils.py
処理内容
実際の処理は以下の通りとなります。とりあえず固定値でin_1.txt
を渡すようにしてますが、複数ファイルを扱いたい場合はこのあたりを修正していただければ良いと思います。
utils.py
import builtins
import linecache
line_num = 1
def input() -> str:
global line_num
target_line = linecache.getline('in_1.txt', line_num)
line_num += 1
return target_line.strip()
builtins.input = input
使い方
既存のinput()
をオーバーライドしているため、基本的にはpaizaで書いたコードを使用していただくことができます。ただしimport utils
だけは忘れないようにしてください。
import utils
num = int(input())
(以下略)
次のステップ
この処理だけですとアウトプットが目視での検証になってしまうため、そちらも自動化する予定です。