日期:2020年3月19日
作者:Commas
注释:学习就是为了忘记,来个os模块
如果您想了解更多有关Python的知识,那么请点《我的Python浅谈系列目录》
文章目录
一、os模块
(1)什么是os模块
os模块
是一个提供多数操作系统功能的接口函数的模块,os是Operating System(操作系统)的缩写。如果您需要处理文件和目录,并且希望程序能够与平台无关的话,那么os模块是您的不二选择。
(2)os模块的属性
属性 | 说明 | windows | Linux |
---|---|---|---|
os.name | 查询当前使用平台 | nt | posix |
s.sep | 输出操作系统特定的路径分隔符 | \ | / |
os.pathsep | 输出用于分割文件路径的字符串 | ; | : |
os.linesep | 输出当前平台使用的行终止符 | \r\n | \n |
import os
print(os.name)
print(os.sep)
print(os.pathsep)
print(os.linesep)
# =======控制台输出结果=======
nt
\
;
(3)os模块的方法
1)os(增删查改)
(i)增
当前我使用test.py文件,效果如下图所示:
- 生成单级目录(文件夹):相当于shell中mkdir dirname。
s.mkdir('mkdir_dirname')
- 生成多级目录(文件夹)
os.makedirs('makedirs_dirname1/dirname1')
os.makedirs('makedirs_dirname1/dirname2')
(ii)删
- 删除一个文件(不是文件夹)
os.remove('mkdir_dirname/1.txt')
os.makedirs('makedirs_dirname1/dirname2/11.csv')
- 删除单级空目录
相当于shell中rmdir dirname,若目录不为空,则无法删除并抛出异常。
如下所示,仅仅删除dirname2。
os.rmdir('makedirs_dirname1/dirname2')
- 删除多级目录
若目录为空,则删除,并递归到上一级目录;
如若也为空,则删除,依此类推。
如下所示,删除dirname1,同时也删除了makedirs_dirname1。
os.removedirs('makedirs_dirname1/dirname1')
(iii)查
- 获取当前工作目录,即当前python脚本工作的目录路径
print(os.getcwd())
# =======控制台输出结果=======
D:\Python\AutoTicket
- 列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印
print(os.listdir('dirname'))
print(type(os.listdir('dirname')))
# =======控制台输出结果=======
['dirname1', 'dirname2']
<class 'list'>
- 获取文件/目录信息
print(os.stat('makedirs_dirname1'))
# =======控制台输出结果=======
os.stat_result(st_mode=16895, st_ino=8444249301350987, st_dev=847926590, st_nlink=1, st_uid=0, st_gid=0, st_size=0, st_atime=1584596384, st_mtime=1584596384, st_ctime=1584596384)
(iv)改
# 重命名文件/目录
os.rename("makedirs_dirname1", "makedirs_dirname2")
2)os.path(查询判断)
(i)os.path之查询操作
import os
# (1)返回绝对路径
print(os.path.abspath('makedirs_dirname1/dirname1'))
# (2)返回path分割成目录和文件名的二元数组
print(os.path.split('makedirs_dirname1/dirname1'))
# (3)返回path分割成目录和文件名的二元数组中的目录
print(os.path.dirname('makedirs_dirname1/dirname1'))
# (4)返回path分割成目录和文件名的二元数组中的文件名
print(os.path.basename('makedirs_dirname1/dirname1'))
# (5)获取多个路径的组合,即拼接路径
print(os.path.join('makedirs_dirname1', 'dirname1'))
# (6)获取最后的访问时间(时间戳)
print(os.path.getatime('makedirs_dirname1/dirname1'))
# (7)获取最后的修改时间(时间戳)
print(os.path.getmtime('makedirs_dirname1/dirname1'))
# (8)获取文件的大小()
print(os.path.getsize('makedirs_dirname1/dirname1'))
# =======控制台输出结果=======
D:\Python\makedirs_dirname1\dirname1
('makedirs_dirname1', 'dirname1')
makedirs_dirname1
dirname1
makedirs_dirname1\dirname1
1584596384.2306225
1584596384.2306225
0
(ii)os.path之判断操作
# (1)判断文件或文件夹是否存在
print(os.path.exists('makedirs_dirname1/1.txt'))
# (2)判断是否是绝对路径
print(os.path.isabs('dirname1/dirname/1.txt'))
# (3)判断是否是一个文件
print(os.path.isfile('dirname1/dirname/1.txt'))
# (4)判断是否是一个目录
print(os.path.isdir('dirname1/dirname/1.txt'))
版权声明:本文为博主原创文章,如需转载,请给出:
原文链接:https://blog.csdn.net/qq_35844043/article/details/104965074