Как записать и войти в файл на моем роботе NAO

Я использую Choregraphe в Windows для реализации программ на Python для моего робота NAO. У меня есть две проблемы, которые я не могу решить самостоятельно:

  1. Я хочу создать текстовый файл на роботе NAO и записать в него информацию. Позже я хочу сохранить его на свой компьютер. Переход к этой статье – чтение текстового файла

Я использовал следующий код в Python Box:

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. Я хочу загрузить файл журнала на компьютер.

Я добавил в метод onLoad() поля "Say Text" следующий код:

     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")

person itz    schedule 13.07.2018    source источник


Ответы (1)


«Подключение > Дополнительно > Передача файлов» открывает файл в определенном месте. В зависимости от версии вашего робота. Несколько лет назад это было "/var/www" или "~/ftp/"...

На моем текущем NAO (2.1) он находится в «/home/nao».

Поэтому в моем случае лучше всего создать файл в этом месте:

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

При этом есть лучший способ получить файл от вашего робота, в Windows вы можете использовать winscp (gui) или pscp (cli), это намного удобнее, чем Choregraphe...

Удачи.

person Alexandre Mazel    schedule 16.07.2018
comment
Спасибо. Ваш ответ помог мне с моей первой проблемой :) - person itz; 24.07.2018