def mode_to_flags(mode: str):
if len(set("awrb+") | set(mode)) > 5:
raise ValueError('Invalid mode %s' % repr(mode))
if len(set(mode) & set("awr")) > 1:
raise ValueError('must have exactly one of create/read/write/append mode')
flags = 0
flags |= os.O_NONBLOCK
if '+' in mode:
flags |= os.O_CREAT
if "a" in mode:
flags |= os.O_RDWR
flags |= os.O_APPEND
elif "w" in mode:
flags |= os.O_RDWR
elif "r" in mode:
flags |= os.O_RDONLY
return flags
评论列表
文章目录