File 有没有一种方法可以将流重定向到lua中的stdin

File 有没有一种方法可以将流重定向到lua中的stdin,file,input,lua,stdin,File,Input,Lua,Stdin,所以我试着用下面的方法读取一个文件 file=io.open('test.txt', 'r') io.input(file) a=io.read() print(a) io.close(file) 问题是,我真的不知道如何将io.read重定向回stdin流。我试过: io.input(stdin) a=io.read() print(a) 有什么办法可以让这一切顺利进行吗 编辑: 用io.stdin代替stdin解决了这个问题。您可以调用io.input(io.stdin)来设置默认std

所以我试着用下面的方法读取一个文件

file=io.open('test.txt', 'r')
io.input(file)
a=io.read()
print(a)
io.close(file)
问题是,我真的不知道如何将io.read重定向回stdin流。我试过:

io.input(stdin)
a=io.read()
print(a)
有什么办法可以让这一切顺利进行吗

编辑:
用io.stdin代替stdin解决了这个问题。

您可以调用
io.input(io.stdin)
来设置默认stdin。

您可以调用
io.input(io.stdin)
来设置默认stdin。

Lua实际上允许文件:read(),这使我们能够直接从文件中读取。

Lua实际上允许file:read(),而不是将流定向到stdin,这使我们能够直接从文件中读取。

我尝试了这个方法,它提出了“Lua:test.Lua:7:标准输入文件已关闭”@RazorVE,因为您手动关闭了该文件,我不知道该怎么做。你能举个例子吗@Spar@RazorVE对不起,误解了文档,请阅读源代码。我编辑了答案。我猜这就是它的解决方法。我尝试了这个,它提出了“lua:test.lua:7:standard input file is closed”@RazorVE,因为你手动关闭了文件。我不知道应该怎么做。你能举个例子吗@Spar@RazorVE对不起,误解了文档,请阅读源代码。我编辑了答案。我想这就是解决问题的方法。我以为你是故意读(文件)的。顺便说一句,我不知道,但是谢谢@斯帕里以为你是故意读(文件)的。顺便说一句,我不知道,但是谢谢@桅杆