当前位置:   article > 正文

Python标准库之OS库_pycharm os

pycharm os

目录

一、介绍

二、目录操作

1、获取当前工作目录

2、删除目录(空目录)

2.1、删除当前目录

2.2、递归删除目录

3、删除目录(非空目录)

4、创建目录

5、递归创建目录

6、判断是否为目录

7、改变当前目录到指定目录

三、文件操作

1、创建文件

2、删除文件

3、文件重命名

4、判断是否为文件

5、获取文件信息

四、其他操作

1、判断路径对象是否存在

2、获取路径下所有的文件和目录

3、深层遍历指定路径下的所有子文件夹、文件

4、路径拼接

5、路径拆分

5.1、拆分为上级目录+文件名

5.2、只获取上级目录

5.3、只获取文件名

6、获取操作系统的路径分隔符

7、判断当前的操作系统


一、介绍

os模块提供了多数操作系统的功能接口函数。当os模块被导入后,它会自适应于不同的操作系统平台,根据不同的平台进行相应的操作,在python编程时,经常和文件、目录打交道,这时就离不了os模块,本节内容将对os模块提供的函数进行详细的解读

在使用的时候,需要导入该库

import os'
运行

二、目录操作

1、获取当前工作目录

os.getcwd()

2、删除目录(空目录)

2.1、删除当前目录

该方法只能删除当前目录。如果目录下还有文件夹或文件,会报错

os.rmdir(path)      #传入一个完整的path路径

2.2、递归删除目录

可以删除多层递归的空目录,若目录中有文件则无法删除

os.removedirs(path)    #传入一个完整的path路径

3、删除目录(非空目录)

该方法原理即先判断路径对象是否存在,再遍历目录中的文件和子目录,然后删除子目录和文件,最后删除顶层的目录

下面这是对象的删除非空目录的函数方法,可直接调用

  1. def delete_non_empty_directory(path):
  2. try:
  3. # 判断路径是否存在
  4. if not os.path.exists(path):
  5. print(f"目录 {path} 不存在")
  6. return
  7. # 遍历目录中的文件和子目录
  8. for root, dirs, files in os.walk(path, topdown=False):
  9. for file_name in files:
  10. file_path = os.path.join(root, file_name)
  11. # 删除文件
  12. os.remove(file_path)
  13. for dir_name in dirs:
  14. dir_path = os.path.join(root, dir_name)
  15. # 删除子目录
  16. os.rmdir(dir_path)
  17. # 最后删除顶层目录
  18. os.rmdir(path)
  19. print(f"成功删除目录 {path}")
  20. except Exception as e:
  21. print(f"删除目录 {path} 失败:{e}")
'
运行

4、创建目录

如果文件夹存在时,使用该方法,会报错,所以需要结合exists先进行判断是否存在

os.mkdir(path)      #传入一个完整的path路径

5、递归创建目录

os.makedirs(path)   #传入一个完整的path路径

6、判断是否为目录

os.path.isdir(path) #传入一个完整的path路径

7、改变当前目录到指定目录

  1. print(os.getcwd())
  2. path='/tmp'
  3. os.chdir(path) #实现改变路径的方法
  4. print(os.getcwd())
  5. /home/kiosk/PycharmProjects/2019python
  6. /tmp

三、文件操作

1、创建文件

如果文件存在时,使用该方法,会报错,所以需要结合exists先进行判断是否存在

os.mknod(path)   #传入对应的路径

2、删除文件

os.remove(path)   #传入对应的路径

3、文件重命名

os.rename('data.txt','data1.txt')

4、判断是否为文件

os.path.isfile(path)   #传入一个完整的path路径

5、获取文件信息

  1. os.path.getatime(path) #返回最近访问时间 (浮点型秒数)
  2. os.path.getctime(path) #返回文件创建时间
  3. os.path.getmtime(path) #返回最近文件修改时间
  4. os.path.getsize(path) #返回文件大小 (字节为单位)

四、其他操作

1、判断路径对象是否存在

该方法返回一个布尔值

os.path.exists(path)   #传入一个完整路径对象,判断路径对象是否存在

2、获取路径下所有的文件和目录

该方法只会获取到当前路径的,不会深层次进行遍历。

listpath=os.listdir(path)  #传入一个完整路径

3、深层遍历指定路径下的所有子文件夹、文件

深层次遍历指定路径下的所有子文件夹,返回的是一个由路径、文件夹列表、文件列表组成的元组。

可以结合for循环来使用

  1. for path,dirs,files in os.walk(path1): #传入一个完整路径。
  2. print(path)
  3. print(dirs)
  4. print(files)

4、路径拼接

要将文件名加到路径后面,就可以用该方法

  1. path1='D://'
  2. path2='a.txt'
  3. os.path.join(path1,path2) #将两个路径拼接起来

5、路径拆分

5.1、拆分为上级目录+文件名

os.path.split(path)      #传入一个完整的path路径,将其拆分为上级目录和文件名部分;

5.2、只获取上级目录

os.path.dirname(path)   #传入一个完整的path路径,只获取上级目录;

5.3、只获取文件名

os.path.basename(path) #传入一个完整的path路径,只获取文件名部分;

6、获取操作系统的路径分隔符

os.path.sep

7、判断当前的操作系统

返回操作系统类型 :posix 是linux操作系统,nt 是windows操作系统

  1. print(os.name)
  2. print('Linux' if os.name == 'posix' else 'Windows')
  3. posix
  4. Linux

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Guff_9hys/article/detail/838475
推荐阅读
相关标签
  

闽ICP备14008679号