本文整理匯總了Python中stat.filemode方法的典型用法代碼示例。如果您正苦於以下問題:Python stat.filemode方法的具體用法?Python stat.filemode怎麽用?Python stat.filemode使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類stat
的用法示例。
在下文中一共展示了stat.filemode方法的12個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: __repr__
# 需要導入模塊: import stat [as 別名]
# 或者: from stat import filemode [as 別名]
def __repr__(self):
result = ['<%s filename=%r' % (self.__class__.__name__, self.filename)]
if self.compress_type != ZIP_STORED:
result.append(' compress_type=%s' %
compressor_names.get(self.compress_type,
self.compress_type))
hi = self.external_attr >> 16
lo = self.external_attr & 0xFFFF
if hi:
result.append(' filemode=%r' % stat.filemode(hi))
if lo:
result.append(' external_attr=%#x' % lo)
isdir = self.filename[-1:] == '/'
if not isdir or self.file_size:
result.append(' file_size=%r' % self.file_size)
if ((not isdir or self.compress_size) and
(self.compress_type != ZIP_STORED or
self.file_size != self.compress_size)):
result.append(' compress_size=%r' % self.compress_size)
result.append('>')
return ''.join(result)
示例2: __repr__
# 需要導入模塊: import stat [as 別名]
# 或者: from stat import filemode [as 別名]
def __repr__(self):
result = ['<%s filename=%r' % (self.__class__.__name__, self.filename)]
if self.compress_type != ZIP_STORED:
result.append(' compress_type=%s' %
compressor_names.get(self.compress_type,
self.compress_type))
hi = self.external_attr >> 16
lo = self.external_attr & 0xFFFF
if hi:
result.append(' filemode=%r' % stat.filemode(hi))
if lo:
result.append(' external_attr=%#x' % lo)
isdir = self.is_dir()
if not isdir or self.file_size:
result.append(' file_size=%r' % self.file_size)
if ((not isdir or self.compress_size) and
(self.compress_type != ZIP_STORED or
self.file_size != self.compress_size)):
result.append(' compress_size=%r' % self.compress_size)
result.append('>')
return ''.join(result)
示例3: ls_python
# 需要導入模塊: import stat [as 別名]
# 或者: from stat import filemode [as 別名]
def ls_python(self,dpath):
for x in os.listdir(dpath):
dst = dpath + '/' + x
if os.path.isdir(dst):
if self.recursive : self.ls_python(dst)
continue
relpath = dst.replace(self.root,'',1)
if relpath[0] == '/' : relpath = relpath[1:]
lstat = os.stat(dst)
line = stat.filemode(lstat.st_mode)
line += ' %d %d %d' % (lstat.st_nlink,lstat.st_uid,lstat.st_gid)
line += ' %d' % lstat.st_size
line += ' %s' % time.strftime("%b %d %H:%M", time.localtime(lstat.st_mtime))
line += ' %s' % relpath
self.entries[relpath] = line
# file_insert
# called by file_process (general file:// processing)
示例4: filemode
# 需要導入模塊: import stat [as 別名]
# 或者: from stat import filemode [as 別名]
def filemode(mode):
"""Deprecated in this location; use stat.filemode."""
import warnings
warnings.warn("deprecated in favor of stat.filemode",
DeprecationWarning, 2)
return stat.filemode(mode)
示例5: list
# 需要導入模塊: import stat [as 別名]
# 或者: from stat import filemode [as 別名]
def list(self, verbose=True):
"""Print a table of contents to sys.stdout. If `verbose' is False, only
the names of the members are printed. If it is True, an `ls -l'-like
output is produced.
"""
self._check()
for tarinfo in self:
if verbose:
print(stat.filemode(tarinfo.mode), end=' ')
print("%s/%s" % (tarinfo.uname or tarinfo.uid,
tarinfo.gname or tarinfo.gid), end=' ')
if tarinfo.ischr() or tarinfo.isblk():
print("%10s" % ("%d,%d" \
% (tarinfo.devmajor, tarinfo.devminor)), end=' ')
else:
print("%10d" % tarinfo.size, end=' ')
print("%d-%02d-%02d %02d:%02d:%02d" \
% time.localtime(tarinfo.mtime)[:6], end=' ')
print(tarinfo.name + ("/" if tarinfo.isdir() else ""), end=' ')
if verbose:
if tarinfo.issym():
print("->", tarinfo.linkname, end=' ')
if tarinfo.islnk():
print("link to", tarinfo.linkname, end=' ')
print()
示例6: extractall
# 需要導入模塊: import stat [as 別名]
# 或者: from stat import filemode [as 別名]
def extractall(self, path=".", members=None):
"""Extract all members from the archive to the current working
directory and set owner, modification time and permissions on
directories afterwards. `path' specifies a different directory
to extract to. `members' is optional and must be a subset of the
list returned by getmembers().
"""
directories = []
if members is None:
members = self
for tarinfo in members:
if tarinfo.isdir():
# Extract directories with a safe mode.
directories.append(tarinfo)
tarinfo = copy.copy(tarinfo)
tarinfo.mode = 0o700
# Do not set_attrs directories, as we will do that further down
self.extract(tarinfo, path, set_attrs=not tarinfo.isdir())
# Reverse sort directories.
directories.sort(key=lambda a: a.name)
directories.reverse()
# Set correct owner, mtime and filemode on directories.
for tarinfo in directories:
dirpath = os.path.join(path, tarinfo.name)
try:
self.chown(tarinfo, dirpath)
self.utime(tarinfo, dirpath)
self.chmod(tarinfo, dirpath)
except ExtractError as e:
if self.errorlevel > 1:
raise
else:
self._dbg(1, "tarfile: %s" % e)
示例7: list_files
# 需要導入模塊: import stat [as 別名]
# 或者: from stat import filemode [as 別名]
def list_files(request: web.Request, params: Any, row: VFolderRow) -> web.Response:
folder_name = request.match_info['name']
access_key = request['keypair']['access_key']
log.info('VFOLDER.LIST_FILES (ak:{}, vf:{}, path:{})',
access_key, folder_name, params['path'])
base_path = get_folder_hostpath(row, request.app)
try:
folder_path = (base_path / params['path']).resolve()
folder_path.relative_to(base_path)
except ValueError:
raise VFolderNotFound('No such file or directory.')
if not folder_path.exists():
raise VFolderNotFound('No such file or directory.')
if not folder_path.is_dir():
raise InvalidAPIParameters('The target path must be a directory.')
files = []
def _scan():
for f in os.scandir(folder_path):
fstat = f.stat()
ctime = fstat.st_ctime # TODO: way to get concrete create time?
mtime = fstat.st_mtime
atime = fstat.st_atime
files.append({
'mode': stat.filemode(fstat.st_mode),
'size': fstat.st_size,
'ctime': ctime,
'mtime': mtime,
'atime': atime,
'filename': f.name,
})
loop = current_loop()
await loop.run_in_executor(None, _scan)
resp = {
'files': json.dumps(files),
}
return web.json_response(resp, status=200)
示例8: list
# 需要導入模塊: import stat [as 別名]
# 或者: from stat import filemode [as 別名]
def list(self, verbose=True, *, members=None):
"""Print a table of contents to sys.stdout. If `verbose' is False, only
the names of the members are printed. If it is True, an `ls -l'-like
output is produced. `members' is optional and must be a subset of the
list returned by getmembers().
"""
self._check()
if members is None:
members = self
for tarinfo in members:
if verbose:
_safe_print(stat.filemode(tarinfo.mode))
_safe_print("%s/%s" % (tarinfo.uname or tarinfo.uid,
tarinfo.gname or tarinfo.gid))
if tarinfo.ischr() or tarinfo.isblk():
_safe_print("%10s" %
("%d,%d" % (tarinfo.devmajor, tarinfo.devminor)))
else:
_safe_print("%10d" % tarinfo.size)
_safe_print("%d-%02d-%02d %02d:%02d:%02d" \
% time.localtime(tarinfo.mtime)[:6])
_safe_print(tarinfo.name + ("/" if tarinfo.isdir() else ""))
if verbose:
if tarinfo.issym():
_safe_print("-> " + tarinfo.linkname)
if tarinfo.islnk():
_safe_print("link to " + tarinfo.linkname)
print()
示例9: extractall
# 需要導入模塊: import stat [as 別名]
# 或者: from stat import filemode [as 別名]
def extractall(self, path=".", members=None, *, numeric_owner=False):
"""Extract all members from the archive to the current working
directory and set owner, modification time and permissions on
directories afterwards. `path' specifies a different directory
to extract to. `members' is optional and must be a subset of the
list returned by getmembers(). If `numeric_owner` is True, only
the numbers for user/group names are used and not the names.
"""
directories = []
if members is None:
members = self
for tarinfo in members:
if tarinfo.isdir():
# Extract directories with a safe mode.
directories.append(tarinfo)
tarinfo = copy.copy(tarinfo)
tarinfo.mode = 0o700
# Do not set_attrs directories, as we will do that further down
self.extract(tarinfo, path, set_attrs=not tarinfo.isdir(),
numeric_owner=numeric_owner)
# Reverse sort directories.
directories.sort(key=lambda a: a.name)
directories.reverse()
# Set correct owner, mtime and filemode on directories.
for tarinfo in directories:
dirpath = os.path.join(path, tarinfo.name)
try:
self.chown(tarinfo, dirpath, numeric_owner=numeric_owner)
self.utime(tarinfo, dirpath)
self.chmod(tarinfo, dirpath)
except ExtractError as e:
if self.errorlevel > 1:
raise
else:
self._dbg(1, "tarfile: %s" % e)
示例10: mode_perms
# 需要導入模塊: import stat [as 別名]
# 或者: from stat import filemode [as 別名]
def mode_perms(mode):
octal = oct(stat.S_IMODE(mode))[2:].zfill(4)
literal = stat.filemode(mode)
return "%s (%s)" % (octal, literal)
示例11: __str__
# 需要導入模塊: import stat [as 別名]
# 或者: from stat import filemode [as 別名]
def __str__(self):
return '<{} filename="{}" mode="{}">'.format(
type(self).__name__, self.filename, stat.filemode(self.mode))
示例12: list
# 需要導入模塊: import stat [as 別名]
# 或者: from stat import filemode [as 別名]
def list(self, verbose=True):
"""Print a table of contents to sys.stdout. If `verbose' is False, only
the names of the members are printed. If it is True, an `ls -l'-like
output is produced.
"""
self._check()
for tarinfo in self:
if verbose:
_safe_print(stat.filemode(tarinfo.mode))
_safe_print("%s/%s" % (tarinfo.uname or tarinfo.uid,
tarinfo.gname or tarinfo.gid))
if tarinfo.ischr() or tarinfo.isblk():
_safe_print("%10s" %
("%d,%d" % (tarinfo.devmajor, tarinfo.devminor)))
else:
_safe_print("%10d" % tarinfo.size)
_safe_print("%d-%02d-%02d %02d:%02d:%02d" \
% time.localtime(tarinfo.mtime)[:6])
_safe_print(tarinfo.name + ("/" if tarinfo.isdir() else ""))
if verbose:
if tarinfo.issym():
_safe_print("-> " + tarinfo.linkname)
if tarinfo.islnk():
_safe_print("link to " + tarinfo.linkname)
print()