使用C / C ++类比,我想将文件的内容传递给stdin。
我有一个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()。
答案 0 :(得分: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")