Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
products:laboratory_iot_c:exp43 [2024/12/01 16:49] – [Программный код эксперимента] labuser30 | products:laboratory_iot_c:exp43 [2024/12/01 17:48] (текущий) – [Программный код эксперимента] labuser30 | ||
---|---|---|---|
Строка 22: | Строка 22: | ||
if (file.isDirectory()) Serial.print(", | if (file.isDirectory()) Serial.print(", | ||
else Serial.print(" | else Serial.print(" | ||
+ | | ||
Serial.print(" | Serial.print(" | ||
Serial.println(file.size()); | Serial.println(file.size()); | ||
+ | | ||
file = dir.openNextFile(); | file = dir.openNextFile(); | ||
} | } | ||
Строка 49: | Строка 51: | ||
listDir("/ | listDir("/ | ||
+ | LittleFS.remove("/ | ||
+ | LittleFS.rmdir("/ | ||
+ | listDir("/", | ||
+ | | ||
LittleFS.rename("/ | LittleFS.rename("/ | ||
- | listDir("/", | ||
- | |||
- | LittleFS.remove("/ | ||
listDir("/", | listDir("/", | ||
} | } | ||
Строка 59: | Строка 62: | ||
} | } | ||
</ | </ | ||
- | |||
Для работы с файловой системой необходимо подключить библиотеку: | Для работы с файловой системой необходимо подключить библиотеку: | ||
Строка 79: | Строка 81: | ||
if (file.isDirectory()) Serial.print(", | if (file.isDirectory()) Serial.print(", | ||
else Serial.print(" | else Serial.print(" | ||
+ | | ||
Serial.print(" | Serial.print(" | ||
Serial.println(file.size()); | Serial.println(file.size()); | ||
+ | | ||
file = dir.openNextFile(); | file = dir.openNextFile(); | ||
} | } | ||
Строка 87: | Строка 91: | ||
Она принимает два аргумента: | Она принимает два аргумента: | ||
+ | Создаем объект директории: | ||
<code arduino[enable_line_numbers=" | <code arduino[enable_line_numbers=" | ||
File dir = LittleFS.open(path, | File dir = LittleFS.open(path, | ||
+ | </ | ||
+ | |||
+ | Открываем первый файл: | ||
+ | <code arduino[enable_line_numbers=" | ||
File file = root.openNextFile(); | File file = root.openNextFile(); | ||
</ | </ | ||
- | После этого можно работать с функциями файловой системы. Для начала получим список файлов: | + | Далее в цикле '' |
- | <file python Exp43-1.py[enable_line_numbers=" | + | <code arduino[enable_line_numbers=" |
- | import os | + | |
- | + | | |
- | files = os.listdir() | + | else Serial.print(file.name()); |
- | + | ||
- | for file in files: | + | |
- | print(file) | + | |
- | </file> | + | |
- | + | ||
- | Программы вывела в терминал список файлов. В вашем случае вывод может отличаться. | + | |
- | < | + | |
- | boot.py | + | |
- | init.mpy | + | |
- | lcd_api.py | + | |
- | esp8266_i2c_lcd.py | + | |
- | mfrc522.mpy | + | |
- | temp_data.csv | + | |
</ | </ | ||
- | Мы видим список файлов. Однако нам может требоваться допонительная | + | Определяем является ли объект директорией или файлом и печатаем соответствующий текст: |
- | <file python Exp43-2.py[enable_line_numbers=" | + | <code arduino[enable_line_numbers=" |
- | import os | + | if (file.isDirectory()) Serial.print(", |
+ | else Serial.print(" | ||
+ | </ | ||
- | files = os.ilistdir() | + | Выводим размер объекта |
- | for file in files: | + | <code arduino[enable_line_numbers=" |
- | print(file) | + | |
- | </file> | + | Serial.println(file.size()); |
+ | </code> | ||
- | Программа выводит список файлов: Имя, тип (файл | + | В конце тела цикла открываем следующий файл |
+ | <code arduino[enable_line_numbers=" | ||
+ | file = dir.openNextFile(); | ||
+ | </ | ||
- | < | + | В следующих строках мы последовательно форматируем файловую систему и инициализируем ее. |
- | ('boot.py', 32768, 0, 252) | + | < |
- | (' | + | |
- | (' | + | |
- | (' | + | |
- | (' | + | |
- | (' | + | |
</ | </ | ||
- | Теперь | + | Создаем файл " |
- | '' | + | <code arduino[enable_line_numbers=" |
+ | File file = LittleFS.open("/ | ||
+ | file.print(" | ||
+ | file.close(); | ||
+ | listDir("/", | ||
+ | </ | ||
- | < | + | Создаем в корневой директории директорию " |
- | ('boot.py', 32768, 0, 252) | + | < |
- | (' | + | |
- | (' | + | |
- | (' | + | |
- | (' | + | |
- | (' | + | |
- | (' | + | |
</ | </ | ||
- | Как видно, директория dir создалась. | + | Создаем в директории " |
+ | Выводим содержимое | ||
+ | <code arduino[enable_line_numbers=" | ||
+ | file = LittleFS.open("/ | ||
+ | file.print(" | ||
+ | file.close(); | ||
+ | listDir("/ | ||
+ | listDir("/ | ||
+ | </ | ||
- | В файловых системах есть такое понятие как // | + | Удаляем сначала файл " |
- | <file python Exp43-3.py[enable_line_numbers=" | + | <code arduino[enable_line_numbers=" |
- | import os | + | |
- | + | | |
- | uos.getcwd() | + | |
- | </file> | + | |
- | + | ||
- | Результат: | + | |
- | < | + | |
- | '/' | + | |
</ | </ | ||
- | Текущей директорией является / - это значит, | ||
- | <file python Exp43-3.py[enable_line_numbers=" | + | Переименовываем файл "test.txt" в " |
- | import os | + | <code arduino[enable_line_numbers=" |
+ | | ||
+ | listDir("/", | ||
+ | </ | ||
- | os.chdir('/ | + | Ниже приведен полный вывод программы в последовательный порт: |
- | uos.getcwd() | + | |
- | </ | + | |
- | + | ||
- | Результат: | + | |
< | < | ||
- | '/ | ||
- | </ | ||
- | Это значит, | ||
- | Если мы сейчас запросим список файлов, | ||
- | <code python> | ||
- | files = os.listdir('/' | ||
- | </ | ||
- | Вернемся обратно в корень файловой системы и удалим директорию dir: | + | name: test.txt type: file, size: 9 |
- | <file python Exp43-4.py[enable_line_numbers=" | + | |
- | import os | + | |
- | os.chdir('/' | + | name: dir, type: folder, size: 0 |
- | os.rmdir(' | + | name: test.txt type: file, size: 9 |
- | </file> | + | |
- | Директорию нельзя удалить, | + | name: test2.txt type: file, size: 15 |
- | Также мы можем удалить файл | + | name: / |
- | <code python> | + | |
- | uos.remove(' | + | name: test.txt type: file, size: 9 |
- | </ | + | |
- | или переименовать файл | + | name: test_new.txt type: file, size: 9 |
- | <code python> | + | |
- | uos.rename(' | + | |
</ | </ | ||
- | <WRAP center round info 60%> | + | Так как программа выполняется |
- | [[https:// | + | |
- | </ | + |