本文整理汇总了Python中stat.S_IXOTH属性的典型用法代码示例。如果您正苦于以下问题:Python stat.S_IXOTH属性的具体用法?Python stat.S_IXOTH怎么用?Python stat.S_IXOTH使用的例子?那么恭喜您, 这里精选的属性代码示例或许可以为您提供帮助。您也可以进一步了解该属性所在类stat
的用法示例。
在下文中一共展示了stat.S_IXOTH属性的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: replace_gmsh
# 需要导入模块: import stat [as 别名]
# 或者: from stat import S_IXOTH [as 别名]
def replace_gmsh():
fn_gmsh = path2bin('gmsh')
fn_gmsh_tmp = path2bin('gmsh_tmp')
# move
shutil.move(fn_gmsh, fn_gmsh_tmp)
# replace
if sys.platform == 'win32':
fn_script = fn_gmsh[:4] + '.cmd'
with open(fn_script, 'w') as f:
f.write('echo "GMSH"')
else:
with open(fn_gmsh, 'w') as f:
f.write('#! /bin/bash -e\n')
f.write(f'"echo" "$@"')
os.chmod(
fn_gmsh,
os.stat(fn_gmsh).st_mode |
stat.S_IXUSR | stat.S_IXGRP | stat.S_IXOTH
)
yield
shutil.move(fn_gmsh_tmp, fn_gmsh)
示例2: chmod
# 需要导入模块: import stat [as 别名]
# 或者: from stat import S_IXOTH [as 别名]
def chmod(path):
os.chmod(path,
# user
stat.S_IRUSR | # read
stat.S_IWUSR | # write
stat.S_IXUSR | # execute
# group
stat.S_IRGRP | # read
stat.S_IWGRP | # write
stat.S_IXGRP | # execute
# other
stat.S_IROTH | # read
# stat.S_IWOTH | # write
stat.S_IXOTH # execute
)
示例3: test_execute_bit_not_copied
# 需要导入模块: import stat [as 别名]
# 或者: from stat import S_IXOTH [as 别名]
def test_execute_bit_not_copied(self):
# Issue 6070: under posix .pyc files got their execute bit set if
# the .py file had the execute bit set, but they aren't executable.
oldmask = os.umask(022)
sys.path.insert(0, os.curdir)
try:
fname = TESTFN + os.extsep + "py"
f = open(fname, 'w').close()
os.chmod(fname, (stat.S_IRUSR | stat.S_IRGRP | stat.S_IROTH |
stat.S_IXUSR | stat.S_IXGRP | stat.S_IXOTH))
__import__(TESTFN)
fn = fname + 'c'
if not os.path.exists(fn):
fn = fname + 'o'
if not os.path.exists(fn):
self.fail("__import__ did not result in creation of "
"either a .pyc or .pyo file")
s = os.stat(fn)
self.assertEqual(stat.S_IMODE(s.st_mode),
stat.S_IRUSR | stat.S_IRGRP | stat.S_IROTH)
finally:
os.umask(oldmask)
remove_files(TESTFN)
unload(TESTFN)
del sys.path[0]
示例4: close
# 需要导入模块: import stat [as 别名]
# 或者: from stat import S_IXOTH [as 别名]
def close(self):
error_context.context(
"Creating unattended install CD image %s" % self.path)
if os.path.exists(os.path.join(self.mount, 'isolinux')):
# bootable cdrom
f = open(os.path.join(self.mount, 'isolinux', 'isolinux.cfg'), 'w')
f.write('default /isolinux/vmlinuz append initrd=/isolinux/'
'initrd.img %s\n' % self.extra_params)
f.close()
boot = '-b isolinux/isolinux.bin'
else:
# Not a bootable CDROM, using -kernel instead (eg.: arm64)
boot = ''
m_cmd = ('mkisofs -o %s %s -c isolinux/boot.cat -no-emul-boot '
'-boot-load-size 4 -boot-info-table -f -R -J -V -T %s'
% (self.path, boot, self.mount))
process.run(m_cmd)
os.chmod(self.path, stat.S_IRWXU | stat.S_IRGRP | stat.S_IXGRP |
stat.S_IROTH | stat.S_IXOTH)
cleanup(self.mount)
cleanup(self.source_cdrom)
logging.debug("unattended install CD image %s successfully created",
self.path)
示例5: get_tmp_dir
# 需要导入模块: import stat [as 别名]
# 或者: from stat import S_IXOTH [as 别名]
def get_tmp_dir(public=True):
"""
Get the most appropriate tmp dir location.
:param public: If public for all users' access
"""
persistent_dir = settings.get_value('vt.common', 'tmp_dir',
default="")
if persistent_dir != "":
return persistent_dir
tmp_dir = None
# apparmor deny /tmp/* /var/tmp/* and cause failure across tests
# it is better to handle here
if distro.detect().name == 'Ubuntu':
tmp_dir = "/var/lib/libvirt/images"
if not utils_path.usable_rw_dir(tmp_dir):
logging.warning("Unable to write in '/var/lib/libvirt/images' "
"on Ubuntu, apparmor might complain...")
tmp_dir = None
tmp_dir = data_dir.get_tmp_dir(basedir=tmp_dir)
if public:
tmp_dir_st = os.stat(tmp_dir)
os.chmod(tmp_dir, tmp_dir_st.st_mode | stat.S_IXUSR |
stat.S_IXGRP | stat.S_IXOTH | stat.S_IRGRP | stat.S_IROTH)
return tmp_dir
示例6: special_to_letter
# 需要导入模块: import stat [as 别名]
# 或者: from stat import S_IXOTH [as 别名]
def special_to_letter(mode):
l = ''
ALL_R = (stat.S_IRUSR | stat.S_IRGRP | stat.S_IROTH)
ALL_W = (stat.S_IWUSR | stat.S_IWGRP | stat.S_IWOTH)
if mode & stat.S_ISGID:
l += 'G'
if mode & stat.S_ISUID:
l += 'U'
if mode & stat.S_ISVTX:
l += 'T'
if mode & (stat.S_IXUSR | stat.S_IXGRP | stat.S_IXOTH):
l += 'E'
if ( mode & ALL_R ) == ALL_R:
l += 'R'
if ( mode & ALL_W ) == ALL_W:
l += 'W'
return l
示例7: testStatDirectory_filePermissions
# 需要导入模块: import stat [as 别名]
# 或者: from stat import S_IXOTH [as 别名]
def testStatDirectory_filePermissions(self):
should_have = (
('some_file', stat.S_IWUSR), # Owner can write.
('tmp', stat.S_IXOTH), # Others can execute.
('tmp', stat.S_ISVTX), # Has sticky bit.
('my_cmd', stat.S_ISGID), # Has set-group-ID bit.
('silly', stat.S_ISUID), # Has set UID bit.
)
should_not_have = (
('some_file', stat.S_IWOTH), # Others can't write.
('block_dev', stat.S_IRGRP), # Group can't read.
('silly', stat.S_IXUSR), # Owner can't execute.
)
entries = self.getStatEntries()
for filename, bit in should_have:
self.assertTrue(entries[filename]['st_mode'] & bit)
for filename, bit in should_not_have:
self.assertFalse(entries[filename]['st_mode'] & bit)
示例8: render_python_value
# 需要导入模块: import stat [as 别名]
# 或者: from stat import S_IXOTH [as 别名]
def render_python_value(value):
if not isinstance(value, int):
return
if value & stat.S_IFDIR:
perm = 'd'
else:
perm = '-'
perm += 'r' if value & stat.S_IRUSR else '-'
perm += 'w' if value & stat.S_IWUSR else '-'
if value & stat.S_ISUID:
perm += 's' if value & stat.S_IXUSR else 'S'
else:
perm += 'x' if value & stat.S_IXUSR else '-'
perm += 'r' if value & stat.S_IRGRP else '-'
perm += 'w' if value & stat.S_IWGRP else '-'
if value & stat.S_ISGID:
perm += 's' if value & stat.S_IXGRP else 'S'
else:
perm += 'x' if value & stat.S_IXGRP else '-'
perm += 'r' if value & stat.S_IROTH else '-'
perm += 'w' if value & stat.S_IWOTH else '-'
perm += 'x' if value & stat.S_IXOTH else '-'
return perm
示例9: prepare_shutoff_daemon
# 需要导入模块: import stat [as 别名]
# 或者: from stat import S_IXOTH [as 别名]
def prepare_shutoff_daemon(logger):
if not os.path.exists(hooks_dir):
os.makedirs(hooks_dir)
if os.path.exists(hooks_file):
os.remove(hooks_file)
with open(hooks_file, 'w') as f:
f.write(hooks_str)
if not os.access(hooks_file, os.X_OK):
st = os.stat(hooks_file)
os.chmod(hooks_file, st.st_mode | stat.S_IEXEC | stat.S_IXGRP | stat.S_IXOTH)
cmd = "service libvirtd restart"
ret, out = utils.exec_cmd(cmd, shell=True)
if ret:
logger.error("Restart libvirtd failed: %s" % out)
return 1
return 0
示例10: _chmodplusx
# 需要导入模块: import stat [as 别名]
# 或者: from stat import S_IXOTH [as 别名]
def _chmodplusx(d):
if not os.path.exists(d):
return
if os.path.isdir(d):
for item in os.listdir(d):
p = os.path.join(d, item)
if os.path.isdir(p):
_chmodplusx(p)
else:
st = os.stat(p)
os.chmod(p, st.st_mode | stat.S_IEXEC | stat.S_IXGRP | stat.S_IXOTH)
else:
st = os.stat(d)
os.chmod(d, st.st_mode | stat.S_IEXEC | stat.S_IXGRP | stat.S_IXOTH)
################################## Hook the ugly python setup() call that can output gcc warnings.
# NOTE: yes, there is os.dup and file descriptor things. Deal with it (r).
# Keep a trace of the old stdout, because setup() is just toooooooooo verbose when succeed
示例11: validate
# 需要导入模块: import stat [as 别名]
# 或者: from stat import S_IXOTH [as 别名]
def validate(taskKwargs, xlog=KodiLogger.log):
tmpl = process_cmdline(taskKwargs['scriptfile'])
found = False
for tmp in tmpl:
tmp = xbmc.translatePath(tmp)
if xbmcvfs.exists(tmp) or os.path.exists(tmp) and found is False:
try:
mode = os.stat(tmp).st_mode
mode |= stat.S_IXUSR | stat.S_IXGRP | stat.S_IXOTH
os.chmod(tmp, mode)
except OSError:
if sysplat.startswith('win') is False:
xlog(msg=_('Failed to set execute bit on script: %s') % tmp)
finally:
found = True
return True
示例12: save
# 需要导入模块: import stat [as 别名]
# 或者: from stat import S_IXOTH [as 别名]
def save(self, path, serial='json'):
'''
Safely save keys with perms of 0400
'''
pre = self.for_json()
if serial == 'msgpack':
import msgpack
packaged = msgpack.dumps(pre)
elif serial == 'json':
import json
packaged = json.dumps(pre)
perm_other = stat.S_IROTH | stat.S_IWOTH | stat.S_IXOTH
perm_group = stat.S_IRGRP | stat.S_IWGRP | stat.S_IXGRP
cumask = os.umask(perm_other | perm_group)
with open(path, 'w+') as fp_:
fp_.write(packaged)
os.umask(cumask)
示例13: _write_data_file
# 需要导入模块: import stat [as 别名]
# 或者: from stat import S_IXOTH [as 别名]
def _write_data_file(self, pack_ref, file_path, content):
"""
Write data file on disk.
"""
# Throw if pack directory doesn't exist
pack_base_path = get_pack_base_path(pack_name=pack_ref)
if not os.path.isdir(pack_base_path):
raise ValueError('Directory for pack "%s" doesn\'t exist' % (pack_ref))
# Create pack sub-directory tree if it doesn't exist
directory = os.path.dirname(file_path)
if not os.path.isdir(directory):
# NOTE: We apply same permission bits as we do on pack install. If we don't do that,
# st2api won't be able to write to pack sub-directory
mode = stat.S_IRWXU | stat.S_IRWXG | stat.S_IROTH | stat.S_IXOTH
os.makedirs(directory, mode)
with open(file_path, 'w') as fp:
fp.write(content)
示例14: symlink
# 需要导入模块: import stat [as 别名]
# 或者: from stat import S_IXOTH [as 别名]
def symlink(self, id_p, name, target, ctx):
log.debug('started with %d, %r, %r', id_p, name, target)
if self.failsafe:
raise FUSEError(errno.EPERM)
mode = (stat.S_IFLNK | stat.S_IRUSR | stat.S_IWUSR | stat.S_IXUSR |
stat.S_IRGRP | stat.S_IWGRP | stat.S_IXGRP |
stat.S_IROTH | stat.S_IWOTH | stat.S_IXOTH)
# Unix semantics require the size of a symlink to be the length
# of its target. Therefore, we create symlink directory entries
# with this size. If the kernel ever learns to open and read
# symlinks directly, it will read the corresponding number of \0
# bytes.
inode = self._create(id_p, name, mode, ctx, size=len(target))
self.db.execute('INSERT INTO symlink_targets (inode, target) VALUES(?,?)',
(inode.id, target))
self.open_inodes[inode.id] += 1
return inode.entry_attributes()
示例15: init_tables
# 需要导入模块: import stat [as 别名]
# 或者: from stat import S_IXOTH [as 别名]
def init_tables(conn):
# Insert root directory
now_ns = time_ns()
conn.execute("INSERT INTO inodes (id,mode,uid,gid,mtime_ns,atime_ns,ctime_ns,refcount) "
"VALUES (?,?,?,?,?,?,?,?)",
(ROOT_INODE, stat.S_IFDIR | stat.S_IRUSR | stat.S_IWUSR | stat.S_IXUSR
| stat.S_IRGRP | stat.S_IXGRP | stat.S_IROTH | stat.S_IXOTH,
os.getuid(), os.getgid(), now_ns, now_ns, now_ns, 1))
# Insert control inode, the actual values don't matter that much
conn.execute("INSERT INTO inodes (id,mode,uid,gid,mtime_ns,atime_ns,ctime_ns,refcount) "
"VALUES (?,?,?,?,?,?,?,?)",
(CTRL_INODE, stat.S_IFREG | stat.S_IRUSR | stat.S_IWUSR,
0, 0, now_ns, now_ns, now_ns, 42))
# Insert lost+found directory
inode = conn.rowid("INSERT INTO inodes (mode,uid,gid,mtime_ns,atime_ns,ctime_ns,refcount) "
"VALUES (?,?,?,?,?,?,?)",
(stat.S_IFDIR | stat.S_IRUSR | stat.S_IWUSR | stat.S_IXUSR,
os.getuid(), os.getgid(), now_ns, now_ns, now_ns, 1))
name_id = conn.rowid('INSERT INTO names (name, refcount) VALUES(?,?)',
(b'lost+found', 1))
conn.execute("INSERT INTO contents (name_id, inode, parent_inode) VALUES(?,?,?)",
(name_id, inode, ROOT_INODE))