Модули и функции · встроенный MicroPython FEMM 5
shutil
Копирование, перенос и удаление рабочих файлов и каталогов.
Условия работы
- copy2 является псевдонимом copy: метаданные файла не переносятся.
- copytree создаёт каталог через os.makedirs; существующее дерево может дополняться, а одноимённые файлы — перезаписываться. rmtree удаляет дерево целиком.
- disk_usage установлен, но требует отсутствующий os.statvfs; вызов в этой сборке вызывает AttributeError.
shutil.copyfileshutil.copyshutil.copy2shutil.copyfileobjshutil.moveshutil.copytreeshutil.rmtreeshutil.disk_usageshutil.copyfileЧитает данные блоками по 65536 байт. Копирует содержимое файла в файл назначения.
shutil.copyfile
copyfile(src, dst)Читает данные блоками по 65536 байт. Копирует содержимое файла в файл назначения.
Аргументы
| Имя | Назначение и допустимые значения |
|---|---|
src | Строка пути исходного файла. |
dst | Строка пути назначения; copy/copy2 также принимают каталог. |
Возвращаемое значение
Строка итогового пути назначения.
Пример
"Пример shutil.copyfile.\nСреда: встроенный MicroPython FEMM 5.\nЧитает данные блоками по 65536 байт. Копирует содержимое файла в файл назначения.\nРезультат: Строка итогового пути назначения."
import shutil
import os
import tempfile
work=tempfile.mkdtemp(prefix='femm-doc-',dir='.')
src=work+'/source.txt'
with open(src,'w') as f:
f.write('FEMM')
dst=work+'/copy.txt'
assert shutil.copyfile(src,dst) == dst
with open(dst) as f:
assert f.read() == 'FEMM'
Ожидаемый результат. Проверки assert проходят без исключения.
Скачать пример · Ссылка на функцию
Этот пример выполнен в установленном FEMM 5.
shutil.copyЧитает данные блоками по 65536 байт. Копирует файл; каталог назначения дополняется исходным именем.
shutil.copy
copy(src, dst)Читает данные блоками по 65536 байт. Копирует файл; каталог назначения дополняется исходным именем.
Аргументы
| Имя | Назначение и допустимые значения |
|---|---|
src | Строка пути исходного файла. |
dst | Строка пути назначения; copy/copy2 также принимают каталог. |
Возвращаемое значение
Строка итогового пути назначения.
Пример
"Пример shutil.copy.\nСреда: встроенный MicroPython FEMM 5.\nЧитает данные блоками по 65536 байт. Копирует файл; каталог назначения дополняется исходным именем.\nРезультат: Строка итогового пути назначения."
import shutil
import os
import tempfile
work=tempfile.mkdtemp(prefix='femm-doc-',dir='.')
src=work+'/source.txt'
with open(src,'w') as f:
f.write('FEMM')
dst=work+'/copy.txt'
assert shutil.copy(src,dst) == dst
with open(dst) as f:
assert f.read() == 'FEMM'
Ожидаемый результат. Проверки assert проходят без исключения.
Скачать пример · Ссылка на функцию
Этот пример выполнен в установленном FEMM 5.
shutil.copy2Читает данные блоками по 65536 байт. Копирует как copy, без переноса метаданных.
shutil.copy2
copy2(src, dst)Читает данные блоками по 65536 байт. Копирует как copy, без переноса метаданных.
Аргументы
| Имя | Назначение и допустимые значения |
|---|---|
src | Строка пути исходного файла. |
dst | Строка пути назначения; copy/copy2 также принимают каталог. |
Возвращаемое значение
Строка итогового пути назначения.
Пример
"Пример shutil.copy2.\nСреда: встроенный MicroPython FEMM 5.\nЧитает данные блоками по 65536 байт. Копирует как copy, без переноса метаданных.\nРезультат: Строка итогового пути назначения."
import shutil
import os
import tempfile
work=tempfile.mkdtemp(prefix='femm-doc-',dir='.')
src=work+'/source.txt'
with open(src,'w') as f:
f.write('FEMM')
dst=work+'/copy.txt'
assert shutil.copy2(src,dst) == dst
with open(dst) as f:
assert f.read() == 'FEMM'
Ожидаемый результат. Проверки assert проходят без исключения.
Скачать пример · Ссылка на функцию
Этот пример выполнен в установленном FEMM 5.
shutil.copyfileobjКопирует от текущего положения потоков до конца источника.
shutil.copyfileobj
copyfileobj(src, dest, length=512)Копирует от текущего положения потоков до конца источника.
Аргументы
| Имя | Назначение и допустимые значения |
|---|---|
src | Открытый поток чтения. |
dest | Открытый поток записи. |
length | Размер блока копирования. |
Возвращаемое значение
None.
Пример
"Пример shutil.copyfileobj.\nСреда: встроенный MicroPython FEMM 5.\nКопирует от текущего положения потоков до конца источника.\nРезультат: None."
import shutil
import io
a=io.BytesIO(b'FEMM')
b=io.BytesIO()
shutil.copyfileobj(a,b)
assert b.getvalue() == b'FEMM'
Ожидаемый результат. Проверки assert проходят без исключения.
Скачать пример · Ссылка на функцию
Этот пример выполнен в установленном FEMM 5.
shutil.moveПробует rename; при ошибке копирует и удаляет источник.
shutil.move
move(src, dst)Пробует rename; при ошибке копирует и удаляет источник.
Аргументы
| Имя | Назначение и допустимые значения |
|---|---|
src | Путь файла или каталога. |
dst | Новый путь либо каталог назначения. |
Возвращаемое значение
Строка итогового пути.
Пример
"Пример shutil.move.\nСреда: встроенный MicroPython FEMM 5.\nПробует rename; при ошибке копирует и удаляет источник.\nРезультат: Строка итогового пути."
import shutil
import os
import tempfile
work=tempfile.mkdtemp(prefix='femm-doc-',dir='.')
src=work+'/source.txt'
with open(src,'w') as f:
f.write('FEMM')
dst=work+'/moved.txt'
shutil.move(src,dst)
assert os.path.isfile(dst) and not os.path.exists(src)
Ожидаемый результат. Проверки assert проходят без исключения.
Скачать пример · Ссылка на функцию
Этот пример выполнен в установленном FEMM 5.
shutil.copytreeРекурсивно копирует содержимое; существующие одноимённые файлы назначения перезаписываются.
shutil.copytree
copytree(src, dst)Рекурсивно копирует содержимое; существующие одноимённые файлы назначения перезаписываются.
Аргументы
| Имя | Назначение и допустимые значения |
|---|---|
src | Исходный каталог. |
dst | Каталог назначения; может быть создан. |
Возвращаемое значение
Строка dst.
Пример
"Пример shutil.copytree.\nСреда: встроенный MicroPython FEMM 5.\nРекурсивно копирует содержимое; существующие одноимённые файлы назначения перезаписываются.\nРезультат: Строка dst."
import shutil
import os
import tempfile
work=tempfile.mkdtemp(prefix='femm-doc-',dir='.')
src=work+'/src'
os.mkdir(src)
with open(src+'/a.txt','w') as f:
f.write('FEMM')
dst=work+'/dst'
shutil.copytree(src,dst)
assert os.path.isfile(dst+'/a.txt')
Ожидаемый результат. Проверки assert проходят без исключения.
Скачать пример · Ссылка на функцию
Этот пример выполнен в установленном FEMM 5.
shutil.rmtreeРекурсивно удаляет файлы и каталоги. В примере удаляется только свежесозданная папка.
shutil.rmtree
rmtree(path)Рекурсивно удаляет файлы и каталоги. В примере удаляется только свежесозданная папка.
Аргументы
| Имя | Назначение и допустимые значения |
|---|---|
path | Непустая строка пути дерева, которое требуется удалить. |
Возвращаемое значение
None.
Пример
"Пример shutil.rmtree.\nСреда: встроенный MicroPython FEMM 5.\nРекурсивно удаляет файлы и каталоги. В примере удаляется только свежесозданная папка.\nРезультат: None."
import shutil
import os
import tempfile
work=tempfile.mkdtemp(prefix='femm-doc-',dir='.')
child=work+'/discard'
os.mkdir(child)
with open(child+'/a.txt','w') as f:
f.write('demo')
shutil.rmtree(child)
assert not os.path.exists(child)
Ожидаемый результат. Проверки assert проходят без исключения.
Скачать пример · Ссылка на функцию
Этот пример выполнен в установленном FEMM 5.
shutil.disk_usageВызов установленного API пока не даёт данных о ёмкости диска.
shutil.disk_usage
disk_usage(path)Вызов установленного API пока не даёт данных о ёмкости диска.
Аргументы
| Имя | Назначение и допустимые значения |
|---|---|
path | Путь диска/каталога. |
Возвращаемое значение
В этой сборке AttributeError из-за отсутствующего os.statvfs.
Пример
"Пример shutil.disk_usage.\nСреда: встроенный MicroPython FEMM 5.\nВызов установленного API пока не даёт данных о ёмкости диска.\nРезультат: В этой сборке AttributeError из-за отсутствующего os.statvfs."
import shutil
try:
shutil.disk_usage('.')
except AttributeError:
pass
else:
raise AssertionError('expected absent os.statvfs')
Ожидаемый результат. Проверки assert проходят без исключения.
Скачать пример · Ссылка на функцию
Нативная проверка описанного ограничения выполнена; ожидаемая ошибка или особенность подтверждена.
Имена в установленной сборке
Перечень получен во встроенном интерпретаторе. Он включает функции, классы и константы. Ссылки ведут к контрактам; для прямого доступа ulab учитывайте условия этого раздела.