| Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия |
| 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> |
| | |