python-os模块

2023-01-31 01:01:23 python

声明: 原文地址:Http://zhangjunhd.blog.51cto.com/113473/453857

我们经常会与文件和目录打交道,对于这些操作python提供了一个os模块,里面包含了很多操作文件和目录的函数。想要知道有哪些方法,我们可以运行下面的语句,就可以在屏幕上输出os模块的所有信息:


文件处理
mkfifo()/mknod() 创建命名管道/创建文件系统节点
remove()/unlink() 删除文件 os.remove()函数用来删除一个文件。
rename()/renames() 重命名文件
*stat() 返回文件信息(包含stat(), lstat(), xstat())
symlink() 创建符号链接
utime() 更新时间戳
tmpfile() 创建并打开('w+b')一个新的临时文件
walk() 生成一个目录树下的所有文件名

目录/文件夹
chdir()/fchdir() 改变当前工作目录/通过一个文件描述符改变当前工作目录
chroot() 改变当前进程的根目录
listdir() 列出指定目录的文件 返回指定目录下的所有文件和目录名。 os.listdir(dirname):列出dirname下的目录和文件
getcwd()/getcwdu() 返回当前工作目录/功能相同, 但返回一个 Unicode 对象 os.getcwd()函数得到当前工作目录,即当前Python脚本工作的目录路径。
mkdir()/makedirs() 创建目录/创建多层目录
rmdir()/removedirs() 删除目录/删除多层目录

访问/权限
access() 检验权限模式
chmod() 改变权限模式
chown()/lchown() 改变 owner 和 group ID/功能相同, 但不会跟踪链接
umask() 设置默认权限模式

文件描述符操作
open() 底层的操作系统 open (对于文件, 使用标准的内建 open() 函数)
read()/write() 根据文件描述符读取/写入数据
dup()/dup2() 复制文件描述符号/功能相同, 但是是复制到另一个文件描述符

设备号
makedev() 从 major 和 minor 设备号创建一个原始设备号
major()/minor() 从原始设备号获得 major/minor 设备号





os.path 模块中的路径名访问函数

分隔
basename() 去掉目录路径, 返回文件名
dirname() 去掉文件名, 返回目录路径
join() 将分离的各部分组合成一个路径名
split() 返回 (dirname(), basename()) 元组
splitdrive() 返回 (drivename, pathname) 元组
splitext() 返回 (filename, extension) 元组

信息
getatime() 返回最近访问时间
getctime() 返回文件创建时间
getmtime() 返回最近文件修改时间
getsize() 返回文件大小(以字节为单位)

查询
exists() 指定路径(文件或目录)是否存在
isabs() 指定路径是否为绝对路径
isdir() 指定路径是否存在且为一个目录
isfile() 指定路径是否存在且为一个文件
islink() 指定路径是否存在且为一个符号链接
ismount() 指定路径是否存在且为一个挂载点
samefile() 两个路径名是否指向同个文件

下面列举一些说明:
1. os.sep 可以取代操作系统特定的路径分割符。
2. os.name字符串指示你正在使用的平台。比如对于windows,它是'nt',而对于linux/Unix用户,它是'posix'。
3. os.getcwd()函数得到当前工作目录,即当前Python脚本工作的目录路径。
4. os.getenv()和os.putenv()函数分别用来读取和设置环境变量。
5. os.listdir()返回指定目录下的所有文件和目录名。
6. os.remove()函数用来删除一个文件。
7. os.system()函数用来运行shell命令。
8. os.linesep字符串给出当前平台使用的行终止符。例如,Windows使用'\r\n',Linux使用'\n'而Mac使用'\r'。
9. os.path.split()函数返回一个路径的目录名和文件名。
10. os.path.isfile()和os.path.isdir()函数分别检验给出的路径是一个文件还是目录。
11. os.path.existe()函数用来检验给出的路径是否真地存在

os和os.path模块
os.listdir(dirname):列出dirname下的目录和文件
os.getcwd():获得当前工作目录
os.curdir:返回但前目录('.')
os.chdir(dirname):改变工作目录到dirname

os.path.isdir(name):判断name是不是一个目录,name不是目录就返回false
os.path.isfile(name):判断name是不是一个文件,不存在name也返回false
os.path.exists(name):判断是否存在文件或目录name
os.path.getsize(name):获得文件大小,如果name是目录返回0L
os.path.abspath(name):获得绝对路径
os.path.nORMpath(path):规范path字符串形式
os.path.split(name):分割文件名与目录(事实上,如果你完全使用目录,它也会将最后一个目录作为文件名而分离,同时它不会判断文件或目录是否存在)
os.path.splitext():分离文件名与扩展名
os.path.join(path,name):连接目录与文件名或目录
os.path.basename(path):返回文件名
os.path.dirname(path):返回文件路径

os 模块属性
linesep 用于在文件中分隔行的字符串
sep 用来分隔文件路径名的字符串
pathsep 用于分隔文件路径的字符串
curdir 当前工作目录的字符串名称
pardir (当前工作目录的)父目录字符串名称



os 模块的文件/目录访问函数

相关文章