def writefile(path, data, owner=None, group=None, mode=None):
if isinstance(data, bytes):
openmode = 'wb'
else:
openmode = 'w'
if owner is not None:
uid = pwd.getpwnam(owner).pw_uid
else:
uid = -1
if group is not None:
gid = grp.getgrnam(group).gr_gid
else:
gid = -1
with open(path, openmode) as f:
os.fchown(
f.fileno(),
uid,
gid
)
if mode is not None:
os.fchmod(f.fileno(), mode)
return f.write(data)
评论列表
文章目录