MicroPython:Платы/ESP8266/Руководство по MicroPython для ESP8266/Внутренняя файловая система: различия между версиями

Материал из Онлайн справочника
Перейти к навигации Перейти к поиску

(Новая страница: «{{MicroPython/Панель перехода}} {{Перевод от Сubewriter}} {{Myagkij-редактор}} <syntaxhighlight lang="python" enclose="div"> =С...»)
 
 
(не показана 1 промежуточная версия этого же участника)
Строка 2: Строка 2:
 
{{Перевод от Сubewriter}}
 
{{Перевод от Сubewriter}}
 
{{Myagkij-редактор}}
 
{{Myagkij-редактор}}
 +
 +
=Внутренняя файловая система<ref>[http://docs.micropython.org/en/latest/esp8266/tutorial/filesystem.html docs.micropython.org - The internal filesystem]</ref>=
 +
 +
Если у вашего устройства ''1 Мб'' памяти или больше, то при первой загрузке в ней будет создана файловая система. Эта система использует формат [[FAT]] и хранится на flash-памяти рядом с прошивкой [[MicroPython]].
 +
 +
==Создание и чтение файлов==
 +
 +
[[MicroPython]] на [[ESP8266]] поддерживает стандартный способ доступа к файлам в [[Python]] при помощи встроенной функции open().
 +
 +
Чтобы создать файл, попробуйте следующее:
  
 
<syntaxhighlight lang="python" enclose="div">
 
<syntaxhighlight lang="python" enclose="div">
 +
>>> f = open('data.txt', 'w')
 +
>>> f.write('some data')
 +
9
 +
>>> f.close()
 +
</syntaxhighlight>
 +
 +
Цифра ''«9»'' здесь – это количество байтов, записанных с помощью метода write(). Затем вы можете прочитать содержимое этого нового файла при помощи:
 +
 +
<syntaxhighlight lang="python" enclose="div">
 +
>>> f = open('data.txt')
 +
>>> f.read()
 +
'какие-то данные'
 +
>>> f.close()
 +
</syntaxhighlight>
 +
 +
По умолчанию файл будет открыт в режиме только для чтения и как текстовый файл. Но если вписать в open() второй аргумент '''wb''', то он откроется для записи в бинарном режиме, а если '''rb''' – для чтения в бинарном режиме.
 +
 +
==Вывод списка содержимого файловой системы и не только==
 +
 +
Для управления файловой системой также можно использовать модуль os. Сначала импортируйте этот модуль:
 +
 +
<syntaxhighlight lang="python" enclose="div">
 +
>>> import os
 +
</syntaxhighlight>
 +
 +
Теперь попробуйте вывести список содержимого файловой системы:
 +
 +
<syntaxhighlight lang="python" enclose="div">
 +
>>> os.listdir()
 +
['boot.py', 'port_config.py', 'data.txt']
 +
</syntaxhighlight>
 +
 +
Можно создавать директории:
 +
 +
<syntaxhighlight lang="python" enclose="div">
 +
>>> os.mkdir('dir')
 +
</syntaxhighlight>
 +
 +
И удалять записи:
 +
 +
<syntaxhighlight lang="python" enclose="div">
 +
>>> os.remove('data.txt')
 +
</syntaxhighlight>
 +
 +
==Запуск скриптов==
 +
 +
Есть два файла, c которыми [[ESP8266]] при запуске обращается по-особому: ''«boot.py»'' и ''«main.py»''. Скрипт ''«boot.py»'' выполняется первым (если существует), а затем наступает черед ''«main.py»''. Вы можете создать эти файлы сами и редактировать их, добавляя туда код, который вам надо запустить при старте устройства.
 +
 +
==Доступ к файловой системе через WebREPL==
 +
 +
Вы можете получить доступ к файловой системе через [[WebREPL]] при помощи веб-клиента в браузере или через инструмент командной строки. Более подробно о [[WebREPL]] читайте в разделах [[MicroPython:Платы/ESP8266/Краткий справочник по ESP8266|«Краткий справочник по ESP8266»]] и [[MicroPython:Платы/ESP8266/Руководство по MicroPython для ESP8266|«Руководство по MicroPython для ESP8266»]].
  
 
=См.также=
 
=См.также=

Текущая версия на 12:11, 1 июля 2020

Перевод: Максим Кузьмин (Cubewriter) Контакты:</br>* Skype: cubewriter</br>* E-mail: cubewriter@gmail.com</br>* Максим Кузьмин на freelance.ru
Проверка/Оформление/Редактирование: Мякишев Е.А.


Внутренняя файловая система[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».

См.также

Внешние ссылки