Python3 標準入力を変更する

Python3の標準入力の変更について記述が少なかったのでメモ。 以下のようにできる。ファイル記述子を用いた場合はコメントアウト部分。

sys.stdinをopenしたものに変えればいい。

# -*- coding: utf-8 -*-

import sys, os
# fd = os.open('io.txt', os.O_RDONLY)
# os.dup2(fd, sys.stdin.fileno())
f = open('input.txt', 'r')
sys.stdin = f

# これ以降に書きたいことを書く。

def main():
    b = input()
    print(b)

if __name__ == '__main__':
    main()
タイトルとURLをコピーしました