Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия |
products:laboratory_iot:exp43 [2020/05/23 18:19] – labuser29 | products:laboratory_iot:exp43 [2020/05/23 22:00] (текущий) – labuser29 |
---|
print(file) | print(file) |
</file> | </file> |
| |
| Программа выводит список файлов: Имя, тип (файл или директория), 0, размер файла в байтах |
| |
| <code> |
| ('boot.py', 32768, 0, 252) |
| ('init.mpy', 32768, 0, 225) |
| ('lcd_api.py', 32768, 0, 6882) |
| ('esp8266_i2c_lcd.py', 32768, 0, 3293) |
| ('mfrc522.mpy', 32768, 0, 2392) |
| ('temp_data.csv', 32768, 0, 820) |
| </code> |
| |
| Теперь давайте создадим директорию с именем dir: |
| ''os.mkdir('dir')''. Если такая директория уже есть, то получим сообщение об ошибке. Если все в порядке, то директория будет создана. Теперь повторим вывод функции ilistdir() |
| |
| <code> |
| ('boot.py', 32768, 0, 252) |
| ('init.mpy', 32768, 0, 225) |
| ('lcd_api.py', 32768, 0, 6882) |
| ('esp8266_i2c_lcd.py', 32768, 0, 3293) |
| ('mfrc522.mpy', 32768, 0, 2392) |
| ('temp_data.csv', 32768, 0, 820) |
| ('dir', 16384, 0, 0) |
| </code> |
| |
| Как видно, директория dir создалась. |
| |
| В файловых системах есть такое понятие как //путь//. Это последовательность вложенных директорий от корня файловой системы до какого-либо файла или директории. Давайте посмотрим путь до текущей директории: |
| <file python Exp43-3.py[enable_line_numbers="2", start_line_numbers_at="1"]> |
| import os |
| |
| uos.getcwd() |
| </file> |
| |
| Результат: |
| <code> |
| '/' |
| </code> |
| Текущей директорией является / - это значит, что мы находимся в корне файловой системы. Давайте перейдем в недавно созданную нами директорию dir и повторно выведем текущую директорию |
| |
| <file python Exp43-3.py[enable_line_numbers="2", start_line_numbers_at="1"]> |
| import os |
| |
| os.chdir('/dir') |
| uos.getcwd() |
| </file> |
| |
| Результат: |
| <code> |
| '/dir' |
| </code> |
| Это значит, что мы перешли в директорию /dir и сейчас она является текущей директорией. |
| Если мы сейчас запросим список файлов, то получим пустой ответ так как в директории /dir у нас нет файлов. Мы можем получить список файлов в корне или в другой директории, если укажем конкретный путь, например: |
| <code python> |
| files = os.listdir('/') |
| </code> |
| |
| Вернемся обратно в корень файловой системы и удалим директорию dir: |
| <file python Exp43-4.py[enable_line_numbers="2", start_line_numbers_at="1"]> |
| import os |
| |
| os.chdir('/') |
| os.rmdir('dir') |
| </file> |
| |
| Директорию нельзя удалить, если в ней есть вложенные файлы или директории. Сначала нужно удалить их. Если все в порядке — директория удалится. Если сейчас запросить список файлов в корне, то увидим, что директории dir больше нет. |
| |
| Также мы можем удалить файл |
| <code python> |
| uos.remove('filename') |
| </code> |
| |
| или переименовать файл |
| <code python> |
| uos.rename('old_name', 'new_name') |
| </code> |
| |
| <WRAP center round info 60%> |
| [[https://docs.micropython.org/en/latest/library/uos.html|Подробная информация о работе с файловой системой]] |
| </WRAP> |
| |