Python学海无涯路【第25回】:os模块

本文全面解析了Python中的os模块,详细介绍了其20多种常用方法,包括文件和目录操作、环境变量获取、路径处理等,是Python程序员掌握系统交互功能的必备指南。


1、os模块简介

os模块是与操作系统交互的一个接口。当os模块被导入后,它会自适应于不同的操作系统平台,根据不同的平台进行相应的操作。

2、name

输出字符串指示当前使用平台,Windows 返回 ‘nt’; Linux 返回’posix’
例:

import os
print(os.name)

3、getcwd

全称是’get current work directory’,获取当前工作的目录。
例:

import os
print(os.getcwd())

4、listdir

列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印。参数可以省略。
例:

import os
print(os.listdir("E:"))

5、chdir

改变当前脚本工作目录。
例:

import os
os.chdir("c:")		#切换到c盘根目录
print(os.getcwd())
os.chdir("d:")		#切换到d盘根目录
print(os.getcwd())

输出:
C:
D:\

6、curdir

返回当前目录: (’.’)
感觉没有什么用。
例:

import os
print(os.curdir)

输出:
.

7、pardir

获取当前目录的父目录字符串名:(’…’)
感觉没有什么用。
参照curdir

8、mkdir

生成单级录。
例:

import os
os.mkdir("abc")	#生成目录abc

9、mkdirs

可生成多层递归目录。
例:

import os
os.makedirs("a/b")	#创建目录a,并在a目录下创建目录b

10、rmdir

删除单级空目录,若目录不为空则无法删除。
例:

import os
os.rmdir("a/b")

11、rmmovedirs

若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推。

12、remove

删除一个文件。
例:

import os
os.remove("a/a.py")

13、rename

重命令文件或目录。
例:

import os
os.rename("a/a.py","b.py")

14、stat

获取文件/目录信息。
例:

import os
print(os.stat("b.py"))

输出:

os.stat_result(st_mode=33206, st_ino=3096224744037941, st_dev=3432167447, st_nlink=1, st_uid=0, st_gid=0, st_size=0, st_atime=1562422708, st_mtime=1562422708, st_ctime=1562422708)

以下是stat结构的成员列表:

对象描述
st_mode保护位
st_inoinode编号
st_dev文件大小
ST_MTIME设备
st_nlink硬链接数
st_uid所有者的用户ID
st_gid所有者的组ID
st_size文件大小(以字节为单位)
st_atime最近访问的时间(时间戳)
st_mtime最近修改内容的时间(时间戳)
st_ctime最近元数据更改的时间(时间戳)

15、sep

返回当前操作系统的路径分隔符。
win下为"",Linux下为"/"。
例:

import os
print(os.sep)

16、linesep

返回当前平台使用的行终止符
win下返回"\r\n"
linux下返回"\n"
例:

import os
print(os.linesep)

17、pathsep

返回当前平台路径的分隔符
win下返“;”
linux下返":"
例:

import os
print(os.pathsep)

18、system

运行shell命令,直接显示
例:

import os
os.system("ipconfig")

19、environ

获取系统环境变量
例:

import os
print(os.environ)

20、path.abspath

返回规范化的绝对路径
例:

import os
print(os.path.abspath("b.py"))

21、path.split

分割目录与文件名,如果给的路径是目录,它也会将最后一个目录作为文件名而分离,同时它不会判断文件或目录是否存在
例:

import os
print(os.path.split("C:/a.py"))

输出:

(‘C:/’, ‘a.py’)

22、path.dirname

返回目录名。其实就是os.path.split(path)的第一个元素
例:

import os
print(os.path.split("C:/a.py"))
print(os.path.dirname("C:/a.py"))

输出:
(‘C:/’, ‘a . py’)
C:/

23、path.basename

返回文件名。其实就是os.path.split(path)的第二个元素

例:

import os
print(os.path.split("C:/a.py"))
print(os.path.basename("C:/a.py"))

输出:
(‘C:/’, ‘a . py’)
a . py

24、path.splitext

分离文件名与扩展名
例:

import os
print(os.path.splitext("C:/a.py"))

输出:
(‘C:/a’, ‘.py’)

25、path.exists

路径存在返True,不存在返回Fales
例:

import os
print(os.path.exists("C:/a.py"))

26、path.isabs

是绝对路径返回True,不是返回False

import os
print(os.path.isabs("C:/a.py"))

27、path.isfile

文件存在返回True,不存在返回False。

import os
print(os.path.isfile("a/a.py"))

28、path.isdir

目录存在返回True,不存在返回False
例:

import os
print(os.path.isdir("c:\\"))
print(os.path.isdir("c:/"))

输出:
True
True

29、path.join

将多个路径组合后返回,第一个绝对路径之前的参数将被忽略。
例:

import os
print(os.path.join("c:\\","a","b"))

输出:
c:\a\b

30、path.getatime

返回指向的文件或者目录的最后存取时间

import os
print(os.path.getatime("b.py"))

31、path.getmtime

返回指向的文件或者目录的最后修改时间

import os
print(os.path.getmtime("b.py"))

32、path.getsize

获得文件大小,如果传的参数是目录或文件为空返回0

import os
print(os.path.getsize("b.py"))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值