import os os.symlink(src, dst, target_is_directory=False, *, dir_fd=None)
src
- str
, путь в файловой системе на который указывает ссылка,dst
- имя ссылки (str
путь в файловой системе),target_is_directory=False
- bool
, в Windows ссылка как каталог.dir_fd=None
- int
, дескрипторов каталогов.Функция symlink()
модуля os
создает символическую ссылку, указывающую на src
с именем dst
.
Аргументы src
и dst
могут принимать объекты, представляющие путь файловой системы, такой как pathlib.PurePath
.
Функция os.symlink()
может поддерживать пути относительно дескрипторов каталогов dir_fd
.
На платформах, отличных от Windows, target_is_directory
игнорируется. В Windows символическая ссылка представляет собой либо файл, либо каталог и не преобразуется в целевой объект динамически. Если цель присутствует, то будет создан соответствующий тип символической ссылки. В противном случае символическая ссылка будет создана как каталог, если target_is_directory
имеет значение True
или файловая символическая ссылка (по умолчанию).
Примечание. В более новых версиях Windows 10 непривилегированные учетные записи могут создавать символические ссылки, если включен режим разработчика. Когда режим разработчика недоступен/не включен, требуется привилегия SeCreateSymbolicLinkPrivilege
или процесс должен выполняться от имени администратора. Когда функция вызывается непривилегированным пользователем вызывается исключение OSError
.
Вызывает событие аудита os.symlink с аргументами src, dst, dir_fd.
Доступность: Unix, Windows.
>>> import os >>> src = '/usr/bin/python' >>> dst = '/tmp/python' >>> os.symlink(src, dst) >>> os.readlink(dst) # '/usr/bin/python' >>> os.path.islink(dst) # True
Создадим файл symlinks.py
следующего содержания:
# symlinks.py import os link_name = '/tmp/' + os.path.basename(__file__) print(f'Creating link {link_name} -> {__file__}') os.symlink(__file__, link_name) stat_info = os.lstat(link_name) print('Permissions:', oct(stat_info.st_mode)) print('Points to:', os.readlink(link_name)) # Очистим os.unlink(link_name)
Запустим файл:
$ python3 symlinks.py Creating link /tmp/symlinks.py -> symlinks.py Permissions: 0o120755 Points to: symlinks.py