如何写入和记录到我的 NAO 机器人上的文件

How to write and log to a file on my NAO robot

我在 Windows 上使用 Choregraphe 为我的 NAO 机器人实现 Python 的程序。我有两个问题我自己解决不了:

  1. 我想在 NAO 机器人上创建一个文本文件并在其中写入信息。以后我想把它存到我的电脑里。通往这篇文章 - reading a textfile

我在 Python 框中使用了以下代码:

import logging
 filepath = os.path.join(os.path.dirname(ALFrameManager.getBehaviorPath(self.behaviorId)), "fileName.txt")
maybeContains = None
try:
    with open(filepath, "r") as textfile:
        maybeContains = textfile.readlines()
except:
    pass
with open(filepath, "a") as textfile:
    if maybeContains == "":
        agenda = "type1;type2;\n"
        textfile.write(agenda)
        textfile.write(storedData)
    else:
        textfile.write(storedData)
self.onStopped()

当我尝试通过“连接”>“高级”>“文件传输”下载文件 "fileName.txt" 时,其中一个列出的订单中没有该文件。

  1. 我还想在机器人上创建一个文本文件来记录编码信息,这样我就可以检查机器人的动作。如 1. 我想将日志文件下载到计算机上。

我在 "Say Text"-box 的 onLoad() 方法中添加了以下代码:

     def onLoad(self):
    self.logging.basicConfig(filename="20180712.log", format='%(asctime)s %(levelname)s-8s [%(filename)s:%(lineno)d]%(message)s', level=logging.DEBUG)
self.logger = self.logging.getLogger("Behavior - Box") `

    Before a command, which should be logged I call
    `    self.logger("what happened here")

"Connection > Advanced > File Transfer" 在特定位置打开一个文件。 取决于您的机器人的版本。几年前是“/var/www”或“~/ftp/”...

在我当前的 NAO (2.1) 中,它位于“/home/nao”。

所以对我来说,好的方法是在这个地方创建文件:

filepath = "/home/nao/myfile.txt"

也就是说,有更好的方法从您的机器人获取文件,在 windows,您可以使用 winscp (gui) 或 pscp (cli),它比 Choregraphe 方便得多...

祝你好运。