2017-12-30 26 views
1

C/C++の類推を使用して、ファイルの内容をstdinにパイプします。テキストファイルからのデータでキーボード入力が必要なPython関数を呼び出す

私はユーザーに学生の名前と成績を促し、リストのリストを作成するPython関数を持っています。 100の名前と成績を入力するのではなく、名前と成績をテキストファイルに入れ、それをこの関数の入力として提供したいと思います。これはどうすればいいですか?下記のコード部分:

def enter_grades(num_students): 
    class_grades = [] 
    for i in range(num_students): 
     class_grades.append([input(), float(input())]) 
    print(class_grades) 
    return class_grades 

生徒の名前と成績を示すファイル "grades.txt"があります。 Enter_grades()への入力としてその内容を提供したい。

+1

私は、ファイルを使用したいです多くの入力で関数をテストしてください。 –

答えて

2

freopen()のpythonバージョンが見つかりました。

あなたはファイルオブジェクトにsys.stdinを設定することができ、単純に次の操作を行います。

import sys 

sys.stdin = open("/path/to/file.txt", "r") 
text = input() 
print(text) 

input()機能は現在、代わりにユーザー入力のファイルからデータを読み込みます。

詳しい使い方同様

、あなただけのsysに対応する変数を設定し、ファイルへの標準出力や標準エラーをリダイレクトしたい場合:

sys.stdout = open("stdout.txt", "w") 
sys.stderr = open("stderr.txt", "w") 
関連する問題