OS模块--批量修改文件名字(一)创建和修改文件路径

OS模块:在程序中,经常需要对大量文件和路径进行操作,比如:查询某一路径下同种类型文件,批量修改文件名字等。OS模块提供了非常丰富得方法用来处理文件和目录。

一、常用OS模块列表
二、OS模块创建文件夹
三、OS模块中的path
四、单一修改文件名字
五、批量修改文件和文件夹名字
六、只修改文件,不修改文件夹

一、常用OS模块列表:
os.name:指示你正在使用的工作平台。Windows是’nt’,Linux/Unix是’posix’。
os.getcwd():获得当前工作目录
os.listdir(dirname):列出dirname下的目录和文件
os.remove(file):删除一个文件
os.rmdir(name):删除目录
os.mkdir(name):创建目录
os.path.isfile(path):判断指定对象是否为文件。是返回True,否则False
os.path.isdir(path):判断指定对象是否为目录。是True,否则False
os.path.exists(name):判断是否存在文件或目录name,是True,否则False
os.path.split():返回一个路径的目录名和文件名,即将目录和文件名分开
os.system():运行shell命令,0代表成功,1代表不成功
os.chdir(dirname):改变工作目录到dirname
os.path.getsize(name):获得文件大小,如果name是目录返回0
os.path.abspath(name):获得绝对路径
os.path.join(path,name):连接目录与文件名或目录,与os.path.split(path)相对
os.path.basename(path):返回文件名
os.path.dirname(path):返回文件路径

二、OS模块创建文件夹

import os
print(os.getcwd()) #查看当前文件路径
print(os.name) #当前平台使用得什么系统 nt是windows   posix是UNIX
os.mkdir('./快速创建文件夹')#快速创建文件夹

三、OS模块中的path
主要用于文件得属性获取。例如:去掉目录路径,单独返回文件名、判断指定路径(目录或文件)是否存在等等。该模块的几种常用方法:

result = os.path.abspath('快速创建文件夹')#返回绝对路径
os.path.isdir('快速创建文件夹') #判断是否是文件夹
os.path.isfile('快速创建文件夹')#判断是否是文件
os.path.splitext('OS模块_批量修改文件名.ipynb') #拆分名称,以.拆分
os.path.exists('D:\Anaconda\OS模块_批量修改文件名.ipynb')#判断文件是否存在
a = os.path.getctime('./快速创建文件夹') #获取文件创建的时间戳,一串数字:代表时间1900-01-01 00:00:00
#时间搓修改成时间
import time 
timearr = time.localtime(a)
mytime = time.strftime('%Y-%m-%d %H:%M:%S',timearr)
mytime

四、单一修改文件名字

os.listdir('D:\Anaconda\LX\开课吧——大数据分析入门实战') #获取文件夹下所有文件和文件夹的名字
oldpath = os.path.join('D:\Anaconda','图片1.png') #老路径
newpath = os.path.join('D:\Anaconda','图片1fgh.png') #新路径
os.rename(oldpath,newpath) #修改名字

五、批量修改文件和文件夹名字

#批量修改文件名字
#封装批量修改filename_modify函数
def filename_modify(target_dir):
    #判断路径是否存在
    if os.path.exists(target_dir) == False:
        raise Exception('path is not exist')
    #遍历文件夹中的文件名
    for file in os.listdir(target_dir):
        #分割文件名和拓展名
        filename = os.path.splitext(file)[0]
        fileExpand = os.path.splitext(file)[1]
        #将所有文件的后面添加-kkb
        newname = filename + '-kkb' + fileExpand
        #修改名字
        oldpath = os.path.join(target_dir,file) #老路径
        newpath = os.path.join(target_dir,newname) #新路径
        os.rename(oldpath,newpath)
#         print( newname)
    pass
filename_modify('D:\Anaconda')  #批量修改文件名字

六、只修改文件,不修改文件夹

#批量修改文件名字2
def filename_modify(target_dir,addstr=''):
    #判断路径是否存在
    if os.path.exists(target_dir) == False:
        raise Exception('path is not exist')
    #遍历文件夹中的文件名
    for file in os.listdir(target_dir):
        #分割文件名和拓展名
        filename = os.path.splitext(file)[0]
        fileExpand = os.path.splitext(file)[1]
        
#         #不修改文件夹的名字 (方法一:判断是否是文件,是文件则继续)
#         if os.path.isdir(os.path.join(target_dir,file)):
#             continue

        #不修改文件夹的名字 (方法二:判断文件名是否为空)
        if fileExpand == '':
            continue
            
        #将所有文件的后面添加-kkb
        newname = filename + addstr + fileExpand
        #修改名字
        oldpath = os.path.join(target_dir,file) #老路径
        newpath = os.path.join(target_dir,newname) #新路径
        os.rename(oldpath,newpath)
#         print( newname)
    pass
filename_modify('D:\Anaconda',addstr='方法11')
  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值