使用 C/C++ 类比,我想将文件的内容通过管道传输到标准输入。
我有一个 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() 的输入。
最佳答案
您正在查找 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")
关于python - 调用需要使用文本文件中的数据进行键盘输入的 Python 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48030116/