os各类函数用法


1、os.getcwd()

  • 作用:获取当前工作路径

2、os.chdir(path)

  • 参数:path–要切换的新路径
  • 作用:获取当前工作路径

3、os.mkdir(path)

  • 作用:创建目录(创建文件夹)
    • 路径可以使用相对地址形式:/ 不加点表示根目录 ./ 加一个点表示当前目录 ../ 两个点表示上一级目录
import os
os.chdir(r"C:\Users\51946\Desktop")
os.mkdir('/1')
os.mkdir('./1')
os.mkdir('../1')

4、os.makedirs(path)

  • 作用:有别于os.mkdir(),makedirts()可创建多级目录
import os
os.chdir(r"C:\Users\51946\Desktop")
os.mkdir(r'\1')  # 在C盘根目录下创建了一个文件夹1
os.makedirs(r"\2\3")  # 在C盘根目录下文件夹2和子文件夹3

5、os.path.join(path,*paths)

  • 作用:路径拼接

6、os.path.split()/splitext()/splitdrive()

  • split() 作用:把路径最后一个文件或文件夹分割,返回元组
  • splitext() 作用:分割文件扩展名,返回元组
  • splitdrive()作用:分割路径的盘符,返回元组
import os
path = os.path.split(r"C:\Users\51946\Desktop")
# 分割成二元组('C:\\Users\\51946', 'Desktop')

# join()的参数必须是字符串,所以用path[0]
path1 = os.path.join(path[0], 'Desktop')
print(path1)   # C:\Users\51946\Desktop

print(os.path.splitdrive(r'C:\Users\51946\Desktop'))
# 拆分成盘符和目录的元组
print(os.path.splitext(r'C:\Users\51946\Desktop\1.txt'))
# 目录\文件名+扩展名二元组

D:\pythonProject\caochao_excel\venv\Scripts\python.exe D:\pythonProject\caochao_excel\文件和文件夹.py
C:\Users\51946\Desktop
(‘C:’, ‘\Users\51946\Desktop’)
(‘C:\Users\51946\Desktop\1’, ‘.txt’)

7、os.path.isfile(path)

  • 作用:用于判断对象是否为一个文件

8、os.path.isdir(path)

  • 作用:判断对象是否为一个目录

9、os.path.abspath(path)

  • 作用:获取path对象的完整路径(绝对路径)
import os
print("-"*24)
print(os.path.abspath('.'))# 当前路径的根目录
print(os.path.abspath('..'))#当前路径的上一级目录
print(os.path.abspath('we'))# 拼接路径,实际we文件夹并不存在
print(os.path.abspath(__file__))# 当前文件路径
print(os.path.abspath('11.txt'))# 拼接作用

D:\pythonProject\caochao_excel\venv\Scripts\python.exe D:\pythonProject\caochao_excel\文件和文件夹.py
------------------------
D:\pythonProject\caochao_excel
D:\pythonProject
D:\pythonProject\caochao_excel\we
D:\pythonProject\caochao_excel\文件和文件夹.py
D:\pythonProject\caochao_excel\11.txt

10、os.path.dirname(path)

  • 作用:当path对象包含文件时返回文件所在的目录,当path对象不包含文件,只返回其上一层目录
import os
print("-"*24)
print(os.path.dirname('C:/1/2/1.txt'))
print(os.path.dirname('C:/1/2'))

D:\pythonProject\caochao_excel\venv\Scripts\python.exe D:\pythonProject\caochao_excel\文件和文件夹.py
------------------------
C:/1/2
C:/1
Process finished with exit code 0

11、os.path.basename(path)

*作用:返回path最后的文件名或者文件夹名

import os
print("-"*24)
print(os.path.basename(r'C:\1\2\1.txt'))
print(os.path.basename(r'C:\1\2'))

D:\pythonProject\caochao_excel\venv\Scripts\python.exe D:\pythonProject\caochao_excel\文件和文件夹.py
------------------------
1.txt
2
Process finished with exit code 0

12、os.listdir(path)

  • 作用:返回path路径下的文件和文件夹列表

13、os.walk()

  • 语法: os.walk(top, topdown=True, οnerrοr=None, followlinks=False)
    • top: 需要遍历的文件夹的地址
    • topdown:该参数为True时,会优先遍历top目录,否则优先遍历top的子目录(默认值为 True)
    • οnerrοr:程序异常时,从一个函数调用
    • followlinks:遍历目录下的快捷方式实际所指的目录(windows10/11的文件夹快捷方式只会被当成一个文件,而不会被当成文件夹目录去遍历)
  • 作用:目录树生成器,返回path内每层文件夹下路径+文件夹+文件的三元组(root,dirs,files)
import os
    print("-" * 40)
for root,dirs,files in os.walk(r"C:\Users\51946\Desktop\华为交换"):
    print("目录=", root, '文件夹=', dirs, '文件 =', files)

D:\pythonProject\caochao_excel\venv\Scripts\python.exe D:\pythonProject\caochao_excel\文件和文件夹.py
----------------------------------------
目录= C:\Users\51946\Desktop\华为交换 文件夹= [‘1’, ‘2’] 文件 = [‘新建.txt’]
目录= C:\Users\51946\Desktop\华为交换\1 文件夹= [‘1-1’] 文件 = [‘1.txt’]
目录= C:\Users\51946\Desktop\华为交换\1\1-1 文件夹= [] 文件 = [‘1-1.rtf’, ‘百度网盘.lnk’]
目录= C:\Users\51946\Desktop\华为交换\2 文件夹= [] 文件 = [‘递归.pdf’]


import os
print("-" * 40)
for root,dirs,files in os.walk(r"C:\Users\51946\Desktop\华为交换",topdown=False):
    print("目录=", root, '文件夹=', dirs, '文件 =',files)

D:\pythonProject\caochao_excel\venv\Scripts\python.exe D:\pythonProject\caochao_excel\文件和文件夹.py
----------------------------------------
目录= C:\Users\51946\Desktop\华为交换\1\1-1 文件夹= [] 文件 = [‘1-1.rtf’, ‘百度网盘.lnk’]
目录= C:\Users\51946\Desktop\华为交换\1 文件夹= [‘1-1’] 文件 = [‘1.txt’]
目录= C:\Users\51946\Desktop\华为交换\2 文件夹= [] 文件 = [‘递归.pdf’]
目录= C:\Users\51946\Desktop\华为交换 文件夹= [‘1’, ‘2’] 文件 = [‘新建.txt’]

14、os.scandir(path)

  • 作用:返回指定路径的DirEntry对象的迭代器,如果路径为“无”,则使用路径 “.”
    • 属性和方法: name path is_dir() is_file()
import os
print("-" * 40)
for i in os.scandir(r"C:\Users\51946\Desktop\华为交换"):
    print(i.path, i.name, i.is_dir())

D:\pythonProject\caochao_excel\venv\Scripts\python.exe D:\pythonProject\caochao_excel\文件和文件夹.py
----------------------------------------
C:\Users\51946\Desktop\华为交换\1 1 True
C:\Users\51946\Desktop\华为交换\2 2 True
C:\Users\51946\Desktop\华为交换\新建.txt 新建.txt False

15、os.path.getsize()

  • 作用:返回指定文件的大小,当指定的路径不存在或者不可访问,将会抛出异常

16、os.stat()

  • 作用:返回读取指定文件的相关属性

17、os.removedirs(path)

  • 作用:从下至上删除多级空文件夹

18、os.rmdir(path)

  • 作用:删除单级空文件夹

19、os.remove(path)

  • 作用:删除指定目录下的文件

20、os.rename(old,new)

  • 作用:重命名文件

21、os.renames(old,new)

  • 作用:重命名文件到不存在的目录下

22、os.path.exists()

  • 作用:判断文件/目录是否存在
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值