os目录和文件批量操作相关函数

目录

 

心得:

os.path模块:

os模块:

glob.glob模块:

获取当前文件的绝对路径:

获取当前文件所在文件夹的绝对路径:

批量修改文件夹下子文件夹的名字:

批量删除文件夹下子文件夹里指定的文件:


心得:

路径在python里其实就是字符串,有时不要忘记在目录和文件之间加"/"

os.path模块:

  • os.path.abspath(path):返回绝对路径
  • os.path.basename(path):返回path中的文件名(不包括路径)
  • os.path.dirname(path):返回path的目录(不包括文件名)
  • os.path.exits(path):路径存在则返回True,否则返回False
  • os.path.join(dir,base):把目录dir和文件名base合成一个路径(dir,base实质都是字符串,因此可以不用os.path.join,之间用字符串+法,这样还可以在输出文件时自定义输出文件名)
  • os.path.split(path):将路径分割成dirname和basename,返回一个元组(dirname,basename)
  • os.path.isabs(path):判断是否为绝对路径
  • os.path.isfile(path):判断是否为文件
  • os.path.isdir(path):判断是否文目录

os模块:

  • os.listdir(path):返回目录path下所有的文件夹+文件名
  • os.getcwd():返回当前工作目录

glob.glob模块:

作用:搜索所有符合条件的文件,并以list的形式返回

参数是字符串,字符串里有三种匹配符:

  • '*':星号代表所有
  • '?':问号代表搜索匹配一个
  • '[]’:[0-9]与[a-z]表示匹配0-9的单个数字与a-z的单个字符。

 

获取当前文件的绝对路径:

os.path.abspath(__file__)
#输出
.../xxx.py

获取当前文件所在文件夹的绝对路径:

os.path.dirname(os.path.abspath(__file__))

批量修改文件夹下子文件夹的名字:

import os

dir = os.path.dirname(os.path.abspath(__file__))
#print(dir)

files = os.listdir(dir)
for file in files:
	if os.path.isdir(file):
		oldname=file                #file实质上是字符串
		newname='light3_' + file
		os.rename(oldname,newname)
		#print(newname)

批量删除文件夹下子文件夹里指定的文件:

import os

input_dir = os.path.dirname(os.path.abspath(__file__))
dir_list = os.listdir(input_dir)
for dir in dir_list:
	if os.path.isdir(dir):
		#print(dir)
		if os.path.exists(os.path.abspath(dir+'/clean.bmp')):  #  注意要有“/”
			os.remove(os.path.abspath(dir+'/clean.bmp'))

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值