MicroPython:Платы/ESP8266/Руководство по MicroPython для ESP8266/Внутренняя файловая система: различия между версиями
Myagkij (обсуждение | вклад) |
Нет описания правки |
||
(не показана 1 промежуточная версия 1 участника) | |||
Строка 13: | Строка 13: | ||
Чтобы создать файл, попробуйте следующее: | Чтобы создать файл, попробуйте следующее: | ||
<syntaxhighlight lang="python | <syntaxhighlight lang="python"> | ||
>>> f = open('data.txt', 'w') | >>> f = open('data.txt', 'w') | ||
>>> f.write('some data') | >>> f.write('some data') | ||
Строка 22: | Строка 22: | ||
Цифра ''«9»'' здесь – это количество байтов, записанных с помощью метода write(). Затем вы можете прочитать содержимое этого нового файла при помощи: | Цифра ''«9»'' здесь – это количество байтов, записанных с помощью метода write(). Затем вы можете прочитать содержимое этого нового файла при помощи: | ||
<syntaxhighlight lang="python | <syntaxhighlight lang="python"> | ||
>>> f = open('data.txt') | >>> f = open('data.txt') | ||
>>> f.read() | >>> f.read() | ||
Строка 35: | Строка 35: | ||
Для управления файловой системой также можно использовать модуль os. Сначала импортируйте этот модуль: | Для управления файловой системой также можно использовать модуль os. Сначала импортируйте этот модуль: | ||
<syntaxhighlight lang="python | <syntaxhighlight lang="python"> | ||
>>> import os | >>> import os | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 41: | Строка 41: | ||
Теперь попробуйте вывести список содержимого файловой системы: | Теперь попробуйте вывести список содержимого файловой системы: | ||
<syntaxhighlight lang="python | <syntaxhighlight lang="python"> | ||
>>> os.listdir() | >>> os.listdir() | ||
['boot.py', 'port_config.py', 'data.txt'] | ['boot.py', 'port_config.py', 'data.txt'] | ||
Строка 48: | Строка 48: | ||
Можно создавать директории: | Можно создавать директории: | ||
<syntaxhighlight lang="python | <syntaxhighlight lang="python"> | ||
>>> os.mkdir('dir') | >>> os.mkdir('dir') | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 54: | Строка 54: | ||
И удалять записи: | И удалять записи: | ||
<syntaxhighlight lang="python | <syntaxhighlight lang="python"> | ||
>>> os.remove('data.txt') | >>> os.remove('data.txt') | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 67: | Строка 67: | ||
=См.также= | =См.также= | ||
{{ads}} | |||
=Внешние ссылки= | =Внешние ссылки= | ||
<references /> | <references /> |
Текущая версия от 20:05, 23 мая 2023
Внутренняя файловая система[1]
Если у вашего устройства 1 Мб памяти или больше, то при первой загрузке в ней будет создана файловая система. Эта система использует формат FAT и хранится на flash-памяти рядом с прошивкой MicroPython.
Создание и чтение файлов
MicroPython на ESP8266 поддерживает стандартный способ доступа к файлам в Python при помощи встроенной функции open().
Чтобы создать файл, попробуйте следующее:
>>> f = open('data.txt', 'w')
>>> f.write('some data')
9
>>> f.close()
Цифра «9» здесь – это количество байтов, записанных с помощью метода write(). Затем вы можете прочитать содержимое этого нового файла при помощи:
>>> f = open('data.txt')
>>> f.read()
'какие-то данные'
>>> f.close()
По умолчанию файл будет открыт в режиме только для чтения и как текстовый файл. Но если вписать в open() второй аргумент wb, то он откроется для записи в бинарном режиме, а если rb – для чтения в бинарном режиме.
Вывод списка содержимого файловой системы и не только
Для управления файловой системой также можно использовать модуль os. Сначала импортируйте этот модуль:
>>> import os
Теперь попробуйте вывести список содержимого файловой системы:
>>> os.listdir()
['boot.py', 'port_config.py', 'data.txt']
Можно создавать директории:
>>> os.mkdir('dir')
И удалять записи:
>>> os.remove('data.txt')
Запуск скриптов
Есть два файла, c которыми ESP8266 при запуске обращается по-особому: «boot.py» и «main.py». Скрипт «boot.py» выполняется первым (если существует), а затем наступает черед «main.py». Вы можете создать эти файлы сами и редактировать их, добавляя туда код, который вам надо запустить при старте устройства.
Доступ к файловой системе через WebREPL
Вы можете получить доступ к файловой системе через WebREPL при помощи веб-клиента в браузере или через инструмент командной строки. Более подробно о WebREPL читайте в разделах «Краткий справочник по ESP8266» и «Руководство по MicroPython для ESP8266».