使用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
有一个带有学生名称和成绩的文件" grade.txt"。想要提供其内容作为Enter_grades()的输入。
您正在找到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")