本文整理匯總了Python中stat.S_IRWXU屬性的典型用法代碼示例。如果您正苦於以下問題:Python stat.S_IRWXU屬性的具體用法?Python stat.S_IRWXU怎麽用?Python stat.S_IRWXU使用的例子?那麽, 這裏精選的屬性代碼示例或許可以為您提供幫助。您也可以進一步了解該屬性所在類stat
的用法示例。
在下文中一共展示了stat.S_IRWXU屬性的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: get_perf
# 需要導入模塊: import stat [as 別名]
# 或者: from stat import S_IRWXU [as 別名]
def get_perf(filename):
''' run conlleval.pl perl script to obtain
precision/recall and F1 score '''
_conlleval = PREFIX + 'conlleval'
if not isfile(_conlleval):
#download('http://www-etud.iro.umontreal.ca/~mesnilgr/atis/conlleval.pl')
os.system('wget https://www.comp.nus.edu.sg/%7Ekanmy/courses/practicalNLP_2008/packages/conlleval.pl')
chmod('conlleval.pl', stat.S_IRWXU) # give the execute permissions
out = []
proc = subprocess.Popen(["perl", _conlleval], stdin=subprocess.PIPE, stdout=subprocess.PIPE)
stdout, _ = proc.communicate(open(filename).read())
for line in stdout.split('\n'):
if 'accuracy' in line:
out = line.split()
break
# out = ['accuracy:', '16.26%;', 'precision:', '0.00%;', 'recall:', '0.00%;', 'FB1:', '0.00']
precision = float(out[3][:-2])
recall = float(out[5][:-2])
f1score = float(out[7])
return {'p':precision, 'r':recall, 'f1':f1score}
示例2: gunzip_file
# 需要導入模塊: import stat [as 別名]
# 或者: from stat import S_IRWXU [as 別名]
def gunzip_file(gz_path, new_path):
"""Unzips from gz_path into new_path.
Args:
gz_path: path to the zipped file.
new_path: path to where the file will be unzipped.
"""
if tf.gfile.Exists(new_path):
tf.logging.info("File %s already exists, skipping unpacking" % new_path)
return
tf.logging.info("Unpacking %s to %s" % (gz_path, new_path))
# We may be unpacking into a newly created directory, add write mode.
mode = stat.S_IRWXU or stat.S_IXGRP or stat.S_IRGRP or stat.S_IROTH
os.chmod(os.path.dirname(new_path), mode)
with gzip.open(gz_path, "rb") as gz_file:
with tf.gfile.GFile(new_path, mode="wb") as new_file:
for line in gz_file:
new_file.write(line)
示例3: rmtree
# 需要導入模塊: import stat [as 別名]
# 或者: from stat import S_IRWXU [as 別名]
def rmtree(path, ignore_errors=False, onerror=None):
"""Same as shutil.rmtree, but supports directories without write or execute permissions."""
if ignore_errors:
def onerror(*args):
pass
elif onerror is None:
def onerror(*args):
raise
for root, dirs, _unused_files in os.walk(path):
for directory in dirs:
try:
abs_directory = os.path.join(root, directory)
os.chmod(abs_directory, stat.S_IRWXU)
except OSError as e:
onerror(os.chmod, abs_directory, e)
shutil.rmtree(path, ignore_errors=ignore_errors, onerror=onerror)
示例4: close
# 需要導入模塊: import stat [as 別名]
# 或者: from stat import S_IRWXU [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: env
# 需要導入模塊: import stat [as 別名]
# 或者: from stat import S_IRWXU [as 別名]
def env(self, tmpdir):
"""
Create a package environment, similar to a virtualenv,
in which packages are installed.
"""
class Environment(str):
pass
env = Environment(tmpdir)
tmpdir.chmod(stat.S_IRWXU)
subs = 'home', 'lib', 'scripts', 'data', 'egg-base'
env.paths = dict(
(dirname, str(tmpdir / dirname))
for dirname in subs
)
list(map(os.mkdir, env.paths.values()))
return env
示例6: _ensure_empty_directory
# 需要導入模塊: import stat [as 別名]
# 或者: from stat import S_IRWXU [as 別名]
def _ensure_empty_directory(path):
"""
The path should not exist or it should be an empty directory.
If the path does not exist then a new directory is created.
:param FilePath path: The directory path to check or create.
"""
if path.exists():
if not path.isdir():
raise UsageError("{} is not a directory".format(path.path))
if path.listdir():
raise UsageError("{} is not empty".format(path.path))
return
try:
path.makedirs()
path.chmod(stat.S_IRWXU)
except OSError as e:
raise UsageError(
"Can not create {}. {}: {}.".format(path.path, e.filename,
e.strerror)
)
示例7: test_world_permissions_not_reset_if_other_files_exist
# 需要導入模塊: import stat [as 別名]
# 或者: from stat import S_IRWXU [as 別名]
def test_world_permissions_not_reset_if_other_files_exist(self):
"""
If files exist in the filesystem, permissions are not reset when the
filesystem is remounted.
"""
mountpoint = mountroot_for_test(self).child(b"mount-test")
scenario = self._run_success_test(mountpoint)
mountpoint.child(b"file").setContent(b"stuff")
check_call([b"umount", mountpoint.path])
mountpoint.chmod(S_IRWXU)
mountpoint.restat()
self.successResultOf(run_state_change(
scenario.state_change(),
scenario.deployer, InMemoryStatePersister()))
self.assertEqual(mountpoint.getPermissions().shorthand(),
'rwx------')
示例8: get_sudo_user_group_mode
# 需要導入模塊: import stat [as 別名]
# 或者: from stat import S_IRWXU [as 別名]
def get_sudo_user_group_mode():
'''TBW'''
# XXX only need uid, gid, and file mode for sudo case...
new_uid = int(os.environ.get('SUDO_UID'))
if new_uid is None:
error('Unable to obtain SUDO_UID')
return False
#debug('new UID via SUDO_UID: ' + str(new_uid))
new_gid = int(os.environ.get('SUDO_GID'))
if new_gid is None:
error('Unable to obtain SUDO_GID')
return False
#debug('new GID via SUDO_GID: ' + str(new_gid))
# new_dir_mode = (stat.S_IRUSR|stat.S_IWUSR|stat.S_IRGRP|stat.S_IWGRP|stat.S_IROTH|stat.S_IWOTH)
rwx_mode = (stat.S_IRWXU|stat.S_IRWXG|stat.S_IRWXO)
new_dir_mode = rwx_mode
#debug('new dir mode: ' + str(new_dir_mode))
return (new_dir_mode, new_uid, new_gid)
示例9: test_copy_symlinks
# 需要導入模塊: import stat [as 別名]
# 或者: from stat import S_IRWXU [as 別名]
def test_copy_symlinks(self):
tmp_dir = self.mkdtemp()
src = os.path.join(tmp_dir, 'foo')
dst = os.path.join(tmp_dir, 'bar')
src_link = os.path.join(tmp_dir, 'baz')
write_file(src, 'foo')
os.symlink(src, src_link)
if hasattr(os, 'lchmod'):
os.lchmod(src_link, stat.S_IRWXU | stat.S_IRWXO)
# don't follow
shutil.copy(src_link, dst, follow_symlinks=True)
self.assertFalse(os.path.islink(dst))
self.assertEqual(read_file(src), read_file(dst))
os.remove(dst)
# follow
shutil.copy(src_link, dst, follow_symlinks=False)
self.assertTrue(os.path.islink(dst))
self.assertEqual(os.readlink(dst), os.readlink(src_link))
if hasattr(os, 'lchmod'):
self.assertEqual(os.lstat(src_link).st_mode,
os.lstat(dst).st_mode)
示例10: rm_full_dir
# 需要導入模塊: import stat [as 別名]
# 或者: from stat import S_IRWXU [as 別名]
def rm_full_dir(path, ignore_errors=False):
"""
This function is used to remove a directory and all files and
directories within it (like `rm -rf`).
"""
if os.path.isdir(path):
try:
os.chmod(path, os.stat(path).st_mode | stat.S_IRWXU
& ~stat.S_ISVTX)
except OSError:
pass
f_last = 0
while True:
f_count = 0
for root, d_names, f_names in os.walk(path):
try:
os.chmod(root, os.stat(root).st_mode | stat.S_IRWXU
& ~stat.S_ISVTX)
except OSError:
pass
for fs_name in f_names + d_names:
target = os.path.join(root, fs_name)
try:
os.chmod(target, os.stat(target).st_mode
| stat.S_IRWXU
& ~stat.S_ISVTX)
except OSError:
pass
f_count += 1
f_count += 1
# do this until we get the same count twice, ie. all files we can
# chmod our way into have been found
if f_last == f_count:
break
f_last = f_count
shutil.rmtree(path, ignore_errors)
示例11: install
# 需要導入模塊: import stat [as 別名]
# 或者: from stat import S_IRWXU [as 別名]
def install(file_path, exec_path):
"""full installation of SQLiv to the system"""
os.mkdir(file_path)
copy2("sqliv.py", file_path)
copy2("requirements.txt", file_path)
copy2("LICENSE", file_path)
copy2("README.md", file_path)
os.mkdir(file_path + "/src")
copy_tree("src", file_path + "/src")
os.mkdir(file_path + "/lib")
copy_tree("lib", file_path + "/lib")
# python dependencies with pip
dependencies("install")
# add executable
with open(exec_path, 'w') as installer:
installer.write('#!/bin/bash\n')
installer.write('\n')
installer.write('python2 {}/sqliv.py "$@"\n'.format(file_path))
# S_IRWXU = rwx for owner
# S_IRGRP | S_IXGRP = rx for group
# S_IROTH | S_IXOTH = rx for other
os.chmod(exec_path, stat.S_IRWXU | stat.S_IRGRP | stat.S_IXGRP | stat.S_IROTH | stat.S_IXOTH)
示例12: cleanup_test_droppings
# 需要導入模塊: import stat [as 別名]
# 或者: from stat import S_IRWXU [as 別名]
def cleanup_test_droppings(testname, verbose):
import shutil
import stat
import gc
# First kill any dangling references to open files etc.
# This can also issue some ResourceWarnings which would otherwise get
# triggered during the following test run, and possibly produce failures.
gc.collect()
# Try to clean up junk commonly left behind. While tests shouldn't leave
# any files or directories behind, when a test fails that can be tedious
# for it to arrange. The consequences can be especially nasty on Windows,
# since if a test leaves a file open, it cannot be deleted by name (while
# there's nothing we can do about that here either, we can display the
# name of the offending test, which is a real help).
for name in (support.TESTFN,
"db_home",
):
if not os.path.exists(name):
continue
if os.path.isdir(name):
kind, nuker = "directory", shutil.rmtree
elif os.path.isfile(name):
kind, nuker = "file", os.unlink
else:
raise SystemError("os.path says %r exists but is neither "
"directory nor file" % name)
if verbose:
print("%r left behind %s %r" % (testname, kind, name))
try:
# if we have chmod, fix possible permissions problems
# that might prevent cleanup
if (hasattr(os, 'chmod')):
os.chmod(name, stat.S_IRWXU | stat.S_IRWXG | stat.S_IRWXO)
nuker(name)
except Exception as msg:
print(("%r left behind %s %r and it couldn't be "
"removed: %s" % (testname, kind, name, msg)), file=sys.stderr)
示例13: _get_default_cache_dir
# 需要導入模塊: import stat [as 別名]
# 或者: from stat import S_IRWXU [as 別名]
def _get_default_cache_dir(self):
def _unsafe_dir():
raise RuntimeError('Cannot determine safe temp directory. You '
'need to explicitly provide one.')
tmpdir = tempfile.gettempdir()
# On windows the temporary directory is used specific unless
# explicitly forced otherwise. We can just use that.
if os.name == 'nt':
return tmpdir
if not hasattr(os, 'getuid'):
_unsafe_dir()
dirname = '_jinja2-cache-%d' % os.getuid()
actual_dir = os.path.join(tmpdir, dirname)
try:
os.mkdir(actual_dir, stat.S_IRWXU)
except OSError as e:
if e.errno != errno.EEXIST:
raise
try:
os.chmod(actual_dir, stat.S_IRWXU)
actual_dir_stat = os.lstat(actual_dir)
if actual_dir_stat.st_uid != os.getuid() \
or not stat.S_ISDIR(actual_dir_stat.st_mode) \
or stat.S_IMODE(actual_dir_stat.st_mode) != stat.S_IRWXU:
_unsafe_dir()
except OSError as e:
if e.errno != errno.EEXIST:
raise
actual_dir_stat = os.lstat(actual_dir)
if actual_dir_stat.st_uid != os.getuid() \
or not stat.S_ISDIR(actual_dir_stat.st_mode) \
or stat.S_IMODE(actual_dir_stat.st_mode) != stat.S_IRWXU:
_unsafe_dir()
return actual_dir
示例14: __init__
# 需要導入模塊: import stat [as 別名]
# 或者: from stat import S_IRWXU [as 別名]
def __init__(self, runcmds=[], name="serialjob", **kwargs):
"""
Initializer
Parameters:
runcmds (list, tuple): The list of commands to run
name (str): Name of the run script
"""
# Call the base class initialization
super(_SerialJob, self).__init__(runcmds=runcmds, name=name)
# Define the name of the log file, and set the file object to None
self._logfilenm = os.path.join(self._rundir, self._jobname + '.log')
self._logfile = None
# Start creating the run scripts for each test
runscript_list = ['#!/bin/bash',
'',
'# Necessary modules to load',
'module load python',
'module load all-python-libs',
'']
runscript_list.extend(self._runcmds)
runscript_list.append('')
# Write the script to file
runscript_file = open(self._runscript, 'w')
runscript_file.write(os.linesep.join(runscript_list))
runscript_file.close()
# Make the script executable
os.chmod(self._runscript, stat.S_IRWXU | stat.S_IRGRP | stat.S_IROTH)
示例15: testPermission
# 需要導入模塊: import stat [as 別名]
# 或者: from stat import S_IRWXU [as 別名]
def testPermission(self):
with TemporaryDirectory() as tmp:
d = os.path.join(tmp, "dir")
os.mkdir(d)
with open(os.path.join(d, "file"), "w") as f:
f.write("data")
os.chmod(d, stat.S_IRUSR | stat.S_IXUSR)
self.assertRaises(BuildError, removePath, tmp)
os.chmod(d, stat.S_IRWXU)