python Non-block read file
I want to read a file with non-block mode. So i did like below import fcntl import os fd = open("./filename", "r") flag = fcntl.fcntl(fd.fileno(), fcntl.F_GETFD) fcntl.fcntl(fd, fcntl.F_SETFD, flag | os.O_NONBLOCK) flag = fcntl.fcntl(fd, fcntl.F_GETFD) if flag & os.O_NONBLOCK: print "O_NONBLOCK!!" But the value flag still represents 0. Why..? i think i should be changed according to os.O_NONBLOCK And of course, if i call fd.read(), it is blocked at read(). O_NONBLOCK is a status flag, not a descriptor flag. Therefore use F_SETFL to set File status flags , not F_SETFD , which is for setting