FEMM 5

Модули и функции · встроенный MicroPython FEMM 5

pathlib

Небольшой объектный интерфейс к путям и файлам.

Условия работы

pathlib.PathОбъединяет сегменты, очищая повторные /. Абсолютный сегмент сбрасывает предыдущие.

pathlib.Path

Path(*segments)

Объединяет сегменты, очищая повторные /. Абсолютный сегмент сбрасывает предыдущие.

Аргументы

Аргументы вызова pathlib.Path
ИмяНазначение и допустимые значения
segmentsСтроковые сегменты пути или объекты, преобразуемые в str.

Возвращаемое значение

Path.

Пример

MicroPython FEMM 5
"Пример pathlib.Path.\nСреда: встроенный MicroPython FEMM 5.\nОбъединяет сегменты, очищая повторные /. Абсолютный сегмент сбрасывает предыдущие.\nРезультат: Path."

import pathlib
p=pathlib.Path('results')/'run.csv'
assert p.name == 'run.csv' and p.suffix == '.csv' and p.stem == 'run'

Ожидаемый результат. Проверки assert проходят без исключения.

Скачать пример · Ссылка на функцию

Этот пример выполнен в установленном FEMM 5.

pathlib.Path.absoluteДополняет относительный путь текущим каталогом.

pathlib.Path.absolute

path.absolute()

Дополняет относительный путь текущим каталогом.

Аргументы

Аргументы не требуются.

Возвращаемое значение

Строка абсолютного пути.

Пример

MicroPython FEMM 5
"Пример pathlib.Path.absolute.\nСреда: встроенный MicroPython FEMM 5.\nДополняет относительный путь текущим каталогом.\nРезультат: Строка абсолютного пути."

import pathlib
p=pathlib.Path('results')
assert isinstance(p.absolute(),str)

Ожидаемый результат. Проверки assert проходят без исключения.

Скачать пример · Ссылка на функцию

Этот пример выполнен в установленном FEMM 5.

pathlib.Path.resolveДополняет относительный путь текущим каталогом.

pathlib.Path.resolve

path.resolve()

Дополняет относительный путь текущим каталогом.

Аргументы

Аргументы не требуются.

Возвращаемое значение

Строка абсолютного пути.

Пример

MicroPython FEMM 5
"Пример pathlib.Path.resolve.\nСреда: встроенный MicroPython FEMM 5.\nДополняет относительный путь текущим каталогом.\nРезультат: Строка абсолютного пути."

import pathlib
p=pathlib.Path('results')
assert isinstance(p.resolve(),str)

Ожидаемый результат. Проверки assert проходят без исключения.

Скачать пример · Ссылка на функцию

Этот пример выполнен в установленном FEMM 5.

pathlib.Path.with_suffixМеняет последнюю часть имени после точки.

pathlib.Path.with_suffix

path.with_suffix(suffix)

Меняет последнюю часть имени после точки.

Аргументы

Аргументы вызова pathlib.Path.with_suffix
ИмяНазначение и допустимые значения
suffixНовое расширение с точкой либо пустая строка.

Возвращаемое значение

Новый Path.

Пример

MicroPython FEMM 5
"Пример pathlib.Path.with_suffix.\nСреда: встроенный MicroPython FEMM 5.\nМеняет последнюю часть имени после точки.\nРезультат: Новый Path."

import pathlib
assert str(pathlib.Path('model.fem').with_suffix('.ans')) == 'model.ans'

Ожидаемый результат. Проверки assert проходят без исключения.

Скачать пример · Ссылка на функцию

Этот пример выполнен в установленном FEMM 5.

pathlib.Path.existsПроверяет существование.

pathlib.Path.exists

path.exists()

Проверяет существование.

Аргументы

Аргументы не требуются.

Возвращаемое значение

bool.

Пример

MicroPython FEMM 5
"Пример pathlib.Path.exists.\nСреда: встроенный MicroPython FEMM 5.\nПроверяет существование.\nРезультат: bool."

import pathlib
import os
import tempfile
work=tempfile.mkdtemp(prefix='femm-doc-',dir='.')
p=pathlib.Path(work)/'result.txt'
p.write_text('FEMM')
assert p.exists()

Ожидаемый результат. Проверки assert проходят без исключения.

Скачать пример · Ссылка на функцию

Этот пример выполнен в установленном FEMM 5.

pathlib.Path.is_fileПроверяет тип обычного файла.

pathlib.Path.is_file

path.is_file()

Проверяет тип обычного файла.

Аргументы

Аргументы не требуются.

Возвращаемое значение

bool.

Пример

MicroPython FEMM 5
"Пример pathlib.Path.is_file.\nСреда: встроенный MicroPython FEMM 5.\nПроверяет тип обычного файла.\nРезультат: bool."

import pathlib
import os
import tempfile
work=tempfile.mkdtemp(prefix='femm-doc-',dir='.')
p=pathlib.Path(work)/'result.txt'
p.write_text('FEMM')
assert p.is_file()

Ожидаемый результат. Проверки assert проходят без исключения.

Скачать пример · Ссылка на функцию

Этот пример выполнен в установленном FEMM 5.

pathlib.Path.is_dirПроверяет тип каталога.

pathlib.Path.is_dir

path.is_dir()

Проверяет тип каталога.

Аргументы

Аргументы не требуются.

Возвращаемое значение

bool.

Пример

MicroPython FEMM 5
"Пример pathlib.Path.is_dir.\nСреда: встроенный MicroPython FEMM 5.\nПроверяет тип каталога.\nРезультат: bool."

import pathlib
import os
import tempfile
work=tempfile.mkdtemp(prefix='femm-doc-',dir='.')
p=pathlib.Path(work)/'result.txt'
p.write_text('FEMM')
assert pathlib.Path(work).is_dir()

Ожидаемый результат. Проверки assert проходят без исключения.

Скачать пример · Ссылка на функцию

Этот пример выполнен в установленном FEMM 5.

pathlib.Path.statЧитает размер, тип и временные метки.

pathlib.Path.stat

path.stat()

Читает размер, тип и временные метки.

Аргументы

Аргументы не требуются.

Возвращаемое значение

Список из 10 целых как os.stat(path).

Пример

MicroPython FEMM 5
"Пример pathlib.Path.stat.\nСреда: встроенный MicroPython FEMM 5.\nЧитает размер, тип и временные метки.\nРезультат: Список из 10 целых как os.stat(path)."

import pathlib
import os
import tempfile
work=tempfile.mkdtemp(prefix='femm-doc-',dir='.')
p=pathlib.Path(work)/'result.txt'
p.write_text('FEMM')
assert p.stat()[6] == 4

Ожидаемый результат. Проверки assert проходят без исключения.

Скачать пример · Ссылка на функцию

Этот пример выполнен в установленном FEMM 5.

pathlib.Path.read_textЧитает весь текстовый файл.

pathlib.Path.read_text

path.read_text(encoding=None)

Читает весь текстовый файл.

Аргументы

Аргументы вызова pathlib.Path.read_text
ИмяНазначение и допустимые значения
encodingИмя кодировки; None использует кодировку open.

Возвращаемое значение

str.

Пример

MicroPython FEMM 5
"Пример pathlib.Path.read_text.\nСреда: встроенный MicroPython FEMM 5.\nЧитает весь текстовый файл.\nРезультат: str."

import pathlib
import os
import tempfile
work=tempfile.mkdtemp(prefix='femm-doc-',dir='.')
p=pathlib.Path(work)/'result.txt'
p.write_text('FEMM')
assert p.read_text() == 'FEMM'

Ожидаемый результат. Проверки assert проходят без исключения.

Скачать пример · Ссылка на функцию

Этот пример выполнен в установленном FEMM 5.

pathlib.Path.read_bytesЧитает весь файл в двоичном режиме.

pathlib.Path.read_bytes

path.read_bytes()

Читает весь файл в двоичном режиме.

Аргументы

Аргументы не требуются.

Возвращаемое значение

bytes.

Пример

MicroPython FEMM 5
"Пример pathlib.Path.read_bytes.\nСреда: встроенный MicroPython FEMM 5.\nЧитает весь файл в двоичном режиме.\nРезультат: bytes."

import pathlib
import os
import tempfile
work=tempfile.mkdtemp(prefix='femm-doc-',dir='.')
p=pathlib.Path(work)/'result.txt'
p.write_text('FEMM')
assert p.read_bytes() == b'FEMM'

Ожидаемый результат. Проверки assert проходят без исключения.

Скачать пример · Ссылка на функцию

Этот пример выполнен в установленном FEMM 5.

pathlib.Path.openОткрывает файл; используйте with для закрытия.

pathlib.Path.open

path.open(mode="r", encoding=None)

Открывает файл; используйте with для закрытия.

Аргументы

Аргументы вызова pathlib.Path.open
ИмяНазначение и допустимые значения
modeРежим r/w/a и необязательный b/+.
encodingКодировка текстового потока.

Возвращаемое значение

Открытый поток.

Пример

MicroPython FEMM 5
"Пример pathlib.Path.open.\nСреда: встроенный MicroPython FEMM 5.\nОткрывает файл; используйте with для закрытия.\nРезультат: Открытый поток."

import pathlib
import os
import tempfile
work=tempfile.mkdtemp(prefix='femm-doc-',dir='.')
p=pathlib.Path(work)/'result.txt'
p.write_text('FEMM')
with p.open('r') as f:
    assert f.read() == 'FEMM'

Ожидаемый результат. Проверки assert проходят без исключения.

Скачать пример · Ссылка на функцию

Этот пример выполнен в установленном FEMM 5.

pathlib.Path.write_textЗаписывает весь текст в файл.

pathlib.Path.write_text

path.write_text(data, encoding=None)

Записывает весь текст в файл.

Аргументы

Аргументы вызова pathlib.Path.write_text
ИмяНазначение и допустимые значения
dataЗаписываемая строка.
encodingКодировка текстового потока.

Возвращаемое значение

None; файл заменяется.

Пример

MicroPython FEMM 5
"Пример pathlib.Path.write_text.\nСреда: встроенный MicroPython FEMM 5.\nЗаписывает весь текст в файл.\nРезультат: None; файл заменяется."

import pathlib
import os
import tempfile
work=tempfile.mkdtemp(prefix='femm-doc-',dir='.')
p=pathlib.Path(work)/'result.txt'
assert p.write_text('FEMM') is None
assert p.read_text() == 'FEMM'

Ожидаемый результат. Проверки assert проходят без исключения.

Скачать пример · Ссылка на функцию

Этот пример выполнен в установленном FEMM 5.

pathlib.Path.write_bytesЗаписывает весь двоичный блок.

pathlib.Path.write_bytes

path.write_bytes(data)

Записывает весь двоичный блок.

Аргументы

Аргументы вызова pathlib.Path.write_bytes
ИмяНазначение и допустимые значения
dataДвоичные данные.

Возвращаемое значение

None; файл заменяется.

Пример

MicroPython FEMM 5
"Пример pathlib.Path.write_bytes.\nСреда: встроенный MicroPython FEMM 5.\nЗаписывает весь двоичный блок.\nРезультат: None; файл заменяется."

import pathlib
import os
import tempfile
work=tempfile.mkdtemp(prefix='femm-doc-',dir='.')
p=pathlib.Path(work)/'result.txt'
assert p.write_bytes(b'FEMM') is None
assert p.read_bytes() == b'FEMM'

Ожидаемый результат. Проверки assert проходят без исключения.

Скачать пример · Ссылка на функцию

Этот пример выполнен в установленном FEMM 5.

pathlib.Path.mkdirСоздаёт каталог. На Windows для сложных абсолютных цепочек удобнее os.makedirs.

pathlib.Path.mkdir

path.mkdir(parents=False, exist_ok=False)

Создаёт каталог. На Windows для сложных абсолютных цепочек удобнее os.makedirs.

Аргументы

Аргументы вызова pathlib.Path.mkdir
ИмяНазначение и допустимые значения
parentsСоздавать отсутствующих родителей.
exist_okДопускать существующий каталог.

Возвращаемое значение

None.

Пример

MicroPython FEMM 5
"Пример pathlib.Path.mkdir.\nСреда: встроенный MicroPython FEMM 5.\nСоздаёт каталог. На Windows для сложных абсолютных цепочек удобнее os.makedirs.\nРезультат: None."

import pathlib
import os
import tempfile
work=tempfile.mkdtemp(prefix='femm-doc-',dir='.')
p=pathlib.Path(work)/'results'
p.mkdir()
assert p.is_dir()

Ожидаемый результат. Проверки assert проходят без исключения.

Скачать пример · Ссылка на функцию

Этот пример выполнен в установленном FEMM 5.

pathlib.Path.touchСоздаёт пустой файл, если он отсутствует.

pathlib.Path.touch

path.touch(exist_ok=True)

Создаёт пустой файл, если он отсутствует.

Аргументы

Аргументы вызова pathlib.Path.touch
ИмяНазначение и допустимые значения
exist_okДопускать существующий файл; False вызывает OSError.

Возвращаемое значение

None.

Пример

MicroPython FEMM 5
"Пример pathlib.Path.touch.\nСреда: встроенный MicroPython FEMM 5.\nСоздаёт пустой файл, если он отсутствует.\nРезультат: None."

import pathlib
import os
import tempfile
work=tempfile.mkdtemp(prefix='femm-doc-',dir='.')
p=pathlib.Path(work)/'result.txt'
p.touch()
assert p.stat()[6] == 0

Ожидаемый результат. Проверки assert проходят без исключения.

Скачать пример · Ссылка на функцию

Этот пример выполнен в установленном FEMM 5.

pathlib.Path.renameПереименовывает файл; сам объект Path продолжает хранить прежнюю строку.

pathlib.Path.rename

path.rename(target)

Переименовывает файл; сам объект Path продолжает хранить прежнюю строку.

Аргументы

Аргументы вызова pathlib.Path.rename
ИмяНазначение и допустимые значения
targetСтрока нового пути.

Возвращаемое значение

None.

Пример

MicroPython FEMM 5
"Пример pathlib.Path.rename.\nСреда: встроенный MicroPython FEMM 5.\nПереименовывает файл; сам объект Path продолжает хранить прежнюю строку.\nРезультат: None."

import pathlib
import os
import tempfile
work=tempfile.mkdtemp(prefix='femm-doc-',dir='.')
p=pathlib.Path(work)/'result.txt'
p.write_text('FEMM')
dst=work+'/new.txt'
p.rename(dst)
assert os.path.isfile(dst)

Ожидаемый результат. Проверки assert проходят без исключения.

Скачать пример · Ссылка на функцию

Этот пример выполнен в установленном FEMM 5.

pathlib.Path.unlinkУдаляет указанный файл.

pathlib.Path.unlink

path.unlink(missing_ok=False)

Удаляет указанный файл.

Аргументы

Аргументы вызова pathlib.Path.unlink
ИмяНазначение и допустимые значения
missing_okПодавлять отсутствие файла, если OSError содержит errno.ENOENT.

Возвращаемое значение

None.

Пример

MicroPython FEMM 5
"Пример pathlib.Path.unlink.\nСреда: встроенный MicroPython FEMM 5.\nУдаляет указанный файл.\nРезультат: None."

import pathlib
import os
import tempfile
work=tempfile.mkdtemp(prefix='femm-doc-',dir='.')
p=pathlib.Path(work)/'result.txt'
p.write_text('FEMM')
p.unlink()
assert not p.exists()

Ожидаемый результат. Проверки assert проходят без исключения.

Скачать пример · Ссылка на функцию

Этот пример выполнен в установленном FEMM 5.

pathlib.Path.rmdirУдаляет пустой каталог.

pathlib.Path.rmdir

path.rmdir()

Удаляет пустой каталог.

Аргументы

Аргументы не требуются.

Возвращаемое значение

None.

Пример

MicroPython FEMM 5
"Пример pathlib.Path.rmdir.\nСреда: встроенный MicroPython FEMM 5.\nУдаляет пустой каталог.\nРезультат: None."

import pathlib
import os
import tempfile
work=tempfile.mkdtemp(prefix='femm-doc-',dir='.')
p=pathlib.Path(work)/'empty'
p.mkdir()
p.rmdir()
assert not p.exists()

Ожидаемый результат. Проверки assert проходят без исключения.

Скачать пример · Ссылка на функцию

Этот пример выполнен в установленном FEMM 5.

pathlib.Path.globМетод установлен, но зависит от отсутствующего os.ilistdir. Рабочая альтернатива — glob.glob/glob.iglob.

pathlib.Path.glob

path.glob(pattern)

Метод установлен, но зависит от отсутствующего os.ilistdir. Рабочая альтернатива — glob.glob/glob.iglob.

Аргументы

Аргументы вызова pathlib.Path.glob
ИмяНазначение и допустимые значения
patternОдин шаблон с ровно одним *; ? и несколько * не поддержаны.

Возвращаемое значение

Генератор Path; в этой сборке перебор вызывает AttributeError.

Пример

MicroPython FEMM 5
"Пример pathlib.Path.glob.\nСреда: встроенный MicroPython FEMM 5.\nМетод установлен, но зависит от отсутствующего os.ilistdir. Рабочая альтернатива — glob.glob/glob.iglob.\nРезультат: Генератор Path; в этой сборке перебор вызывает AttributeError."

import pathlib
try:
    list(pathlib.Path('.').glob('*.fem'))
except AttributeError:
    pass
else:
    raise AssertionError('expected absent os.ilistdir')

Ожидаемый результат. Проверки assert проходят без исключения.

Скачать пример · Ссылка на функцию

Нативная проверка описанного ограничения выполнена; ожидаемая ошибка или особенность подтверждена.

pathlib.Path.rglobМетод установлен, но зависит от отсутствующего os.ilistdir. Рабочая альтернатива — glob.glob/glob.iglob.

pathlib.Path.rglob

path.rglob(pattern)

Метод установлен, но зависит от отсутствующего os.ilistdir. Рабочая альтернатива — glob.glob/glob.iglob.

Аргументы

Аргументы вызова pathlib.Path.rglob
ИмяНазначение и допустимые значения
patternОдин шаблон с ровно одним *; ? и несколько * не поддержаны.

Возвращаемое значение

Генератор Path; в этой сборке перебор вызывает AttributeError.

Пример

MicroPython FEMM 5
"Пример pathlib.Path.rglob.\nСреда: встроенный MicroPython FEMM 5.\nМетод установлен, но зависит от отсутствующего os.ilistdir. Рабочая альтернатива — glob.glob/glob.iglob.\nРезультат: Генератор Path; в этой сборке перебор вызывает AttributeError."

import pathlib
try:
    list(pathlib.Path('.').rglob('*.fem'))
except AttributeError:
    pass
else:
    raise AssertionError('expected absent os.ilistdir')

Ожидаемый результат. Проверки assert проходят без исключения.

Скачать пример · Ссылка на функцию

Нативная проверка описанного ограничения выполнена; ожидаемая ошибка или особенность подтверждена.

pathlib.Path.expanduserЗаменяет начальный ~/ на HOME; форма ~username вызывает RuntimeError.

pathlib.Path.expanduser

path.expanduser()

Заменяет начальный ~/ на HOME; форма ~username вызывает RuntimeError.

Аргументы

Аргументы не требуются.

Возвращаемое значение

Path с раскрытым ~, если HOME задан.

Пример

MicroPython FEMM 5
"Пример pathlib.Path.expanduser.\nСреда: встроенный MicroPython FEMM 5.\nЗаменяет начальный ~/ на HOME; форма ~username вызывает RuntimeError.\nРезультат: Path с раскрытым ~, если HOME задан."

import pathlib
assert str(pathlib.Path('results').expanduser()) == 'results'

Ожидаемый результат. Проверки assert проходят без исключения.

Скачать пример · Ссылка на функцию

Этот пример выполнен в установленном FEMM 5.

Имена в установленной сборке

Перечень получен во встроенном интерпретаторе. Он включает функции, классы и константы. Ссылки ведут к контрактам; для прямого доступа ulab учитывайте условия этого раздела.

Pathconsterrnoos