Python Glossary English

все Python 3statфункция

stat.S_ISSOCK()

тип файла

Проверяет по st_mode, что объект — сокет Unix, например файл вроде /var/run/docker.sock.

Синтаксис

stat.S_ISSOCK(os.stat(path).st_mode)

Сокет-файл выглядит в каталоге как обычное имя, но открыть его через open() нельзя — к нему подключаются через socket.AF_UNIX. Проверять тип стоит через S_ISSOCK, а не через `mode & stat.S_IFSOCK`: биты типа пересекаются, и S_IFSOCK включает биты S_IFREG и S_IFDIR. На Windows AF_UNIX в Python нет.

Примеры

import os, socket, stat
s = socket.socket(socket.AF_UNIX)  # → ? на Windows AF_UNIX нет
s.bind('app.sock')
print(stat.S_ISSOCK(os.stat('app.sock').st_mode))  # → True
s.close()

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности