os.stat()函数可以获取文件的属性,该函数会返回一个和系统平台有关的stat_result对象,
具备一组可访问的属性,可以通过 stat_result.attribute
这样的格式来访问各个属性的值。
字 段 | 描 述 |
---|---|
st_mode | inode 保护模式 |
st_ino | inode节点号 |
st_dev | inode驻留的设备 |
st_nlink | inode的链接数 |
st_uid | 所有者的用户 ID |
st_gid | 所有者的组 ID |
st_size | 普通文件以字节为单位的大小,包含等待某些特殊文件的数据 |
st_atime | 上次访问的时间 |
st_mtime | 最后一次修改的时间 |
st_ctime | 由操作系统报告的 ctime。在某些系统上(如 UNIX)是最新的元数据更改的时间,在其他系统上(如 Windows)是创建时间 |
例如:
os.path也有许多函数可以获取文件的属性。
os.path的常用函数
函数名 | 功能 |
---|---|
os.path.exists(path) | 它用于判断当前的目录或者文件是否存在,如果存在,则返回 True,否则返回 False。 |
os.path.abspath(path) | 返回指定文件或目录的绝对路径。 |
os.path.isabs(path) | 判断路径是否为绝对路径,如果是则返回 True,否则返回 False。 |
os.path.isfile(path) | 判断 path 是否是文件,如果是则返回 True,否则返回 False。 |
os.path.isdir(path) | 判断 path 是否是目录,如果是则返回 True,否则返回 False。 |
os.path.getsize(path) | 返回文件或者目录的大小,单位是字节。如果 name 是目录,则返回 0L;如果 name 代表的目录或文件不存在,则会报 WindowsError 异常。 |
os.path.normpath(path) | 把 path 转换为标准的路径,用于解决跨平台问题 |
os.path.split(path) | 对文件路径进行分割,把最后一个“\”后面的文件从目录分割出来。它将 path分割成目录和文件名(事实上,如果提供一个不带文件名的参数(纯目录形式),它也会将最后一个目录作为文件名而分离,而不会判断文件或目录是否存在),并存于元组中返回, |
os.path.dirname(path) | 返回目录的名称,即返回 path 的目录路径,其实就是 os.path.split(path)的第一个元素。 |
os.path.basename(path) | 返回文件的名称,即返回 path 最后的文件名。如果 path 以“/”或“\”结尾,则返回空值,即 os.path.split(path)的第二个元素。 |
os.path.splitext(path) | 把路径和扩展名切分开。路径和扩展名被分开后可以直接赋值给两个变量,其实得到的是一个元组。 |
os.path.splitdrive(path) | 拆分驱动器(盘符)和后面的文件路径,并以元组返回结果;主要针对 Windows有效,Linux 元组第一个元素总是空;返回结果是元组。 |
os.path.join(path,*paths) | 把所有的路径组合成绝对路径。连接两个或更多的路径名,中间以“\”分隔,如果所给的参数都是绝对路径名,则最先给的绝对路径将会被丢弃 |
在Python中用 rename()方法来实现文件的重命名
语法:
os.rename(当前的文件名, 新的文件名)
在Python中用 mkdir()方法用于在当前目录下创建新的目录
语法:
os.mkdir(目录名)
Python 用 os.makedirs()方法实现递归创建目录,类似 mkdir(),但创建的所有中级文件夹需要包含子目录。
语法:
os.makedirs(需要递归创建的目录 [,权限模式])
权限模式,需要 8 进制数字,默认模式为 0o777。每个 7 代表了 3 位值为 1 的二进
制位,分别对应属主、同组用户和其他用户的 rwx(读、写、执行)权限。
例:
import os
path = "D:\\test\\test1\\test1-1\\test1-1-1"
os.makedirs(path,0o755)
getcwd()方法用于显示当前的工作目录。
例如:
import os
print(os.getcwd())
chdir()方法用于改变当前的目录。类似于Linux中的cd命令
例如,进入"/test/test1"目录:
import os
os.chdir("/test/test1")
os.system()函数用于直接执行操作系统 Shell 命令,以字符串形式将命令传入,然后在函数中调用操作系统的 API,从而实现一个和 Shell 命令等价的操作。如果命令运行成功且正常结束,则返回状态代码 0。
例:
import os
os.system('dir')