WHCSRL 技术网

python中os模块和os.path模块用法举例_weixin

1 python中的os模块的应用

os模块是python标准库中访问操作系统的模块,可以适应于不同的操作系统平台,快速完成文件、目录的相关操作,如查找文件的目录,为文件创建新目录等。

1.1 os模块的部分常用属性(Windows系统)

os模块常用属性属性分析
os.name返回你电脑的操作系统(Windows系统下会返回’nt’)
os.curdir指代当前目录,也可以用’.'来表示当前目录
os.pardir指代当前目录,指代当前目录的上一级目录,也可以用’. .'表示
os.sep指代当前目录,返回路径名分隔符,’//’,也可以是’’
os.extsep返回文件扩展名分隔符 , windows下扩展名分隔符为**’.**’
os.linesep返回当前平台使用的行终止符,’ ’

程序举例运行:

import os
1 print(os.name)
  运行结果为: 
  nt
2 print(os.curdir)
  运行结果为: 
  .
3 print(os.pardir)
  运行结果为:
  ..
4 print(os.sep)
  运行结果为:
  
5 print(os.extsep)
  运行结果为:
  .
6 print(os.linesep)
  运行结果为(空行):
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

1.2 os模块的部分常用方法

os模块常用方法相应的作用
os.getcwd()返回当前工作目录
os.chdir(path)改变当前工作目录,path必须为字符串形式的目录
os.listdir(path)返回指定路径下的文件和文件夹列表
os.mkdir(path)创建path指定的文件夹,只能创建一个单层文件,而不能嵌套创建,若文件夹存在则会抛出异常
os.makedirs(path)创建多层目录 ,可以嵌套创建, 如果子目录创建失败或者已经存在,会抛出一个 OSError 的异常
os.remove(path)删除指定路径的文件。如果指定的路径是一个目录,将抛出OSError
os.rmdir(path)删除单层目录,遇见目录非空时则会抛出异常
os.removedirs(path)逐层删除多层目录,遇见非空则停止删除
os.rename(old,new)文件或目录old重命名为new,如果new是一个存在的目录, 将抛出OSError
os.renames(old,new)用于递归重命名目录或文件
os.startfile (path)用于打开指定目录下的程序应用

程序举例运行:

import os
1 print(os.getcwd())
  运行结果:
  C:UsersAdministratorDesktop
2 os.chdir("F:/python/入门到精通资源")#改变到指定的目录
  print(os.getcwd())
  运行结果:
  F:python入门到精通资源
3 print(os.listdir())#在2中指定的目录运行
  运行结果:
  ['Python背记手册.pdf', 'Python面试宝典(140页).pdf', '《Python从入门到精通》PPT课件.rar', '源码.rar']
4 os.mkdir("./b")#.指的是当前工作目录
  运行结果:(目录中新增一个b文件夹,下图所示)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

在这里插入图片描述

5 os.makedirs("./b/c/d")
  运行结果:(目录中新增3个b、c、d文件夹,下图所示)
  • 1
  • 2

在这里插入图片描述

6 os.remove("./b/c/d/test.txt")#d文件夹内先新建一个txt格式的文件
  运行结果:(如图为程序运行前后对比,test.txt文件已经被删除)
  • 1
  • 2

在这里插入图片描述
在这里插入图片描述

7 os.rmdir("./b/c/d")
运行结果:(如下图会删除d空文件夹,如果非空会报错)
  • 1
  • 2

在这里插入图片描述

8 os.removedirs("./b/c")
  运行结果:(如下图,因为b和c文件夹都是空的,因此都会被删除)
  • 1
  • 2

在这里插入图片描述

9 os.rename("b","e")
  运行结果:(如下图将当前目录下的b文件夹改名为e)
  • 1
  • 2

在这里插入图片描述
在这里插入图片描述

10 os.renames("./b/1.txt","./b/2.txt")#当前目录的b文件夹内有一个1.txt文件,现将其改名为2.txt
   运行结果:(如下图,1.txt被改为2.txt;若是os.renames("./c/1.txt","./b/2.txt")相当于把C文件夹的1.txt移到b文件夹内,并命名为2.txt,若c文件夹内仅一个文件,文件夹名也不再保留)
   
  • 1
  • 2
  • 3

在这里插入图片描述
在这里插入图片描述

11 os.startfile ("D:/DAOKE/DocBox/DocBox.exe")#相当于进入程序打开应用
  • 1

2 python中的os.path模块的应用

os.path模块常用方法相应的应用
os.path.abspath(path)返回文件或目录的绝对路径
os.path.basename(path)返回path路径最后一个后的内容,可以为空
os.path.dirname(path)返回path路径最后一个之前的内容
os.path.split(path)返回一个(head,tail)元组,head为最后之前的内容;tail为最后之后的内容,可以为空
os.path.splitext(path)分割路径中的文件名与拓展名
os.path.exists(path)查询路径path是否存在,路径存在则返回True,路径损坏返回False
os.path.isabs(path)判断是否为绝对路径
os.path.isdir(path)判断path指向的是否是文件夹
os.path.isfile(path)判断path是否指向文件
os.path.join(path1[, path2[, …]])将两个path通过组合在一起,或将更多path组合在一起
os.path.getatime(path)返回最近访问时间(浮点型秒数)
os.path.getmtime(path)返回最近文件修改时间
os.path.getctime(path)返回文件 path 创建时间
os.path.getsize(path)返回文件大小,如果文件不存在就返回错误
推荐阅读