все 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Сообщить о неточности