如何写入和记录到我的 NAO 机器人上的文件
How to write and log to a file on my NAO robot
我在 Windows 上使用 Choregraphe 为我的 NAO 机器人实现 Python 的程序。我有两个问题我自己解决不了:
- 我想在 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. 我想将日志文件下载到计算机上。
我在 "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 方便得多...
祝你好运。
我在 Windows 上使用 Choregraphe 为我的 NAO 机器人实现 Python 的程序。我有两个问题我自己解决不了:
- 我想在 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. 我想将日志文件下载到计算机上。
我在 "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 方便得多...
祝你好运。