0

使用 micro python 我试图将 stderr 重定向到一个文件,但是我无权访问板上的运行命令,所以我无法执行任何 shell 重定向命令,例如>> > |. 我很好奇是否有办法在 Micropython 中做到这一点。

我试过了

import sys

sys.stdout = open('out.txt', 'w')
sys.stderr = sys.stdout

然而

https://forum.micropython.org/viewtopic.php?t=2091 <- 这个讨论提到它不是一种支持的方法。我很好奇你们是否有任何想法。我的大多数谷歌搜索都会导致只使用 python 而不是 micropython。

但得到一个错误说明模块没有名为标准输出的属性谢谢

4

2 回答 2

3

这是我用来将控制台输出记录到文件的脚本

import io, os

class logToFile(io.IOBase):
    def __init__(self):
        pass

    def write(self, data):
        with open("logfile.txt", mode="a") as f:
            f.write(data)
        return len(data)
# Begin loging to file
os.dupterm(logToFile())

# Stop loging to file
os.dupterm(None)
于 2021-01-13T06:29:52.970 回答
1

我没有尝试过,但文档建议你可以这样做,如果你使用usys而不是sys. open()实际上会调用uio.open ()

于 2020-12-11T11:02:43.820 回答