无法在lua中使用popen从python读取stdout

时间:2019-02-13 09:45:57

标签: python lua stdout popen

我正在尝试阅读一个简单的python脚本的标准输出

    import time
    while True:
        print("test")
        time.sleep(1)

具有以下lua代码

    local p = assert(io.popen("/usr/bin/python test.py", "r"))
    if not p then
        print("error")
    end
    print("process: "..tostring(p))

    while p do
        local line = p:read("*l")
        if line then
            print("line: "..tostring(line))
        end
    end

这将打印过程文件标识符,但不输出。

yes代替命令表明lua代码本身应该可以工作。但是,调用python脚本(包括shebang)的任何方法都不会产生任何输出。更改为sys.stdout.write("test" + "\n")也没有任何区别。

我在运行archlinux和debian的两台计算机上进行了尝试。第一个正在运行python 3.7.2和lua 5.3.5。

0 个答案:

没有答案