Python之os模块浅谈

日期: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文件,效果如下图所示:
在这里插入图片描述

  1. 生成单级目录(文件夹):相当于shell中mkdir dirname。
s.mkdir('mkdir_dirname')
  1. 生成多级目录(文件夹)
os.makedirs('makedirs_dirname1/dirname1')
os.makedirs('makedirs_dirname1/dirname2')

(ii)删

  1. 删除一个文件(不是文件夹)
os.remove('mkdir_dirname/1.txt')
os.makedirs('makedirs_dirname1/dirname2/11.csv')
  1. 删除单级空目录
    相当于shell中rmdir dirname,若目录不为空,则无法删除并抛出异常。
    如下所示,仅仅删除dirname2。
os.rmdir('makedirs_dirname1/dirname2')
  1. 删除多级目录
    若目录为空,则删除,并递归到上一级目录;
    如若也为空,则删除,依此类推。
    如下所示,删除dirname1,同时也删除了makedirs_dirname1。
os.removedirs('makedirs_dirname1/dirname1')

(iii)查

  1. 获取当前工作目录,即当前python脚本工作的目录路径
print(os.getcwd())

# =======控制台输出结果=======
D:\Python\AutoTicket
  1. 列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印
print(os.listdir('dirname'))
print(type(os.listdir('dirname')))

# =======控制台输出结果=======
['dirname1', 'dirname2']
<class 'list'>
  1. 获取文件/目录信息
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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章