栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

文件10:文件路径-信息查询方法

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

文件10:文件路径-信息查询方法

目录

1. p.stat(*, follow_symlinks=True)  

2. p.lstat()  

3. p.group()  

4. p.owner()  

5. p.readlink()  


下述方法,基于pathlib.PurePath、pathlib.Path函数模块。

1. p.stat(*, follow_symlinks=True)  

返回一个 os.stat_result 对象,其中包含有关该路径的信息(如 os.stat()),每次调用此方法都会重新搜索信息;

此方法通常会跟随符号链接,想要对 symlink 使用 stat 请添加参数 follow_symlinks=False,或者使用 lstat() 方法;

windows环境下,建议路径 p 使用反斜杠转义字符 '\',正斜杠会导致无法找到指定文件;

#使用正斜杠路径,找不到指定文件
p = Path('E:/David/Code/python/代码/text.txt')
p.stat()
Traceback (most recent call last):
  File "", line 1, in 
  File "D:Anacondalibpathlib.py", line 1232, in stat
    return self._accessor.stat(self)
FileNotFoundError: [WinError 2] 系统找不到指定的文件。: 'E:\David\Code\python\代码\text.txt'

#使用反斜杠路径,返回 os.stat_result 对象
p = Path('E:\David\Code\python\文件\test.txt')
p.stat()
os.stat_result(st_mode=33206, st_ino=281474976737684, st_dev=3692550143, st_nlink=1, st_uid=0, st_gid=0, st_size=0, st_atime=1650771064, st_mtime=1650771064, st_ctime=1650609120)

 os.stat_result 对象各参数含义如下:

参数名

释义

st_mode

保护模式/权限模式

st_ino

索引号

st_dev

设备名

st_nlink

硬链接号(被连接数目)

st_uid

所有者的用户ID

st_gid

所有者的组ID

st_size

文件的大小,以位为单位

st_atime

文件最后访问时间

st_mtime

文件最后修改时间

st_ctime

由操作系统报告的“时间”。Windows系统,为文件创建时间;在某些系统(如 Unix)上是最后一次元数据更改的时间。

可通过如下方法,访问这些参数

p = Path('E:\David\Code\python\文件\test.txt')
p.stat()
os.stat_result(st_mode=33206, st_ino=281474976737684, st_dev=3692550143, st_nlink=1, st_uid=0, st_gid=0, st_size=0, st_atime=1650771064, st_mtime=1650771064, st_ctime=1650609120)

p.stat().st_size
0
p.stat().st_mtime
1650771064.9695034
p.stat().st_atime
1650771064.9695034

2. p.lstat()  

类似 Path.stat() 方法,但是如果路径指向符号链接,则是返回符号链接,而不是其指向的目标的信息。  

p = Path('D:\PycharmProject\测试文件\test.txt')
p.lstat()
os.stat_result(st_mode=33206, st_ino=36028797018982541, st_dev=2789900593, st_nlink=1, st_uid=0, st_gid=0, st_size=47, st_atime=1651151409, st_mtime=1650725749, st_ctime=1650697098)

3. p.group()  

返回拥有该文件的用户组,如果文件的 GID 无法在系统数据库中找到,则抛出 KeyError 异常。windows 系统查询失败,显示系统不支持。

p.group()

Traceback (most recent call last):
  File "D:Anacondalibpathlib.py", line 473, in group
    import grp
  File "D:PyCharmpluginspythonhelperspydev_pydev_bundlepydev_import_hook.py", line 21, in do_import
    module = self._system_import(name, *args, **kwargs)
ModuleNotFoundError: No module named 'grp'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "", line 1, in 
  File "D:Anacondalibpathlib.py", line 1244, in group
    return self._accessor.group(self)
  File "D:Anacondalibpathlib.py", line 476, in group
    raise NotImplementedError("Path.group() is unsupported on this system")
NotImplementedError: Path.group() is unsupported on this system

4. p.owner()  

返回该文件的拥有者(用户名),如果文件的 UID 无法在系统数据库中找到,则抛出 KeyError 异常。 windows 系统查询失败,显示系统不支持。

p.owner()

Traceback (most recent call last):
  File "D:Anacondalibpathlib.py", line 466, in owner
    import pwd
  File "D:PyCharmpluginspythonhelperspydev_pydev_bundlepydev_import_hook.py", line 21, in do_import
    module = self._system_import(name, *args, **kwargs)
ModuleNotFoundError: No module named 'pwd'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "", line 1, in 
  File "D:Anacondalibpathlib.py", line 1238, in owner
    return self._accessor.owner(self)
  File "D:Anacondalibpathlib.py", line 469, in owner
    raise NotImplementedError("Path.owner() is unsupported on this system")
NotImplementedError: Path.owner() is unsupported on this system

5. p.readlink()  

返回符号链接所指向的路径(即 os.readlink() 的返回值):  

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/955044.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号