欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

python开发(OS模块,批量文件命名和合并)

程序员文章站 2023-11-15 18:15:52
os.path 模块主要用于获取文件的属性。以下是 os.path 模块的几种常用方法:方法 说明os.path.abspath(path) 返回绝对路径os.path.basename(path) 返回文件名os.path.commonprefix(list) 返回list(多个路径)中,所有path共有的最长的路径os.path.dirname(path) 返回文件路径os......

OS模块函数说明:

os.path 模块主要用于获取文件的属性。

以下是 os.path 模块的几种常用方法:
方法                             说明
os.path.abspath(path)         返回绝对路径
os.path.basename(path)        返回文件名
os.path.commonprefix(list)    返回list(多个路径)中,所有path共有的最长的路径
os.path.dirname(path)         返回文件路径
os.path.exists(path)          如果路径 path 存在,返回 True;如果路径 path 不存在,返False。
os.path.lexists               路径存在则返回True,路径损坏也返回True
os.path.expanduser(path)      把path中包含的"~"和"~user"转换成用户目录
os.path.expandvars(path)      根据环境变量的值替换path中包含的"$name"和"${name}"
os.path.getatime(path)        返回最近访问时间(浮点型秒数)
os.path.getmtime(path)        返回最近文件修改时间
os.path.getctime(path)        返回文件 path 创建时间
os.path.getsize(path)         返回文件大小,如果文件不存在就返回错误
os.path.isabs(path)           判断是否为绝对路径
os.path.isfile(path)          判断路径是否为文件
os.path.isdir(path)           判断路径是否为目录
os.path.islink(path)          判断路径是否为链接
os.path.ismount(path)         判断路径是否为挂载点
os.path.join(path1[, path2[, ...]])     把目录和文件名合成一个路径
os.path.normcase(path)         转换path的大小写和斜杠
os.path.normpath(path)         规范path字符串形式
os.path.realpath(path)         返回path的真实路径
os.path.relpath(path[, start])     从start开始计算相对路径
os.path.samefile(path1, path2)     判断目录或文件是否相同
os.path.sameopenfile(fp1, fp2)     判断fp1和fp2是否指向同一文件
os.path.samestat(stat1, stat2)     判断stat tuple stat1和stat2是否指向同一个文件
os.path.split(path)           把路径分割成 dirname 和 basename,返回一个元组
os.path.splitdrive(path)      一般用在 windows 下,返回驱动器名和路径组成的元组
os.path.splitext(path)        分割路径,返回路径名和文件扩展名的元组
os.path.splitunc(path)        把路径分割为加载点与文件
os.path.walk(path, visit, arg)     遍历path,进入每个目录都调用visit函数,visit函数必须
有3个参数(arg, dirname, names),dirname表示当前目录的目录名,names代表当前目录下的所有文件名,args则为walk的第三个参数
os.path.supports_unicode_filenames     设置是否支持unicode路径名

 

以下实现文件夹和文件批量重命名:

# coding = 'utf-8'
方式一:

import os

def rename(path):
    i = 0
    '该文件夹下所有的文件(包括文件夹)'
    FileList = os.listdir(path)
    '遍历所有文件'
    for files in FileList:
        '原来的文件路径'
        oldDirPath = os.path.join(path, files)
        '如果是文件夹则递归调用'
        if os.path.isdir(oldDirPath):
            rename(oldDirPath)
        '文件名'
        fileName = os.path.splitext(files)[0]
        '文件扩展名'
        fileType = os.path.splitext(files)[1]
        '新的文件路径'
        newDirPath = os.path.join(path, str(i) + fileType)
        '重命名'
        os.rename(oldDirPath, newDirPath)
        i += 1


path = 'C:\\Users\Administrator\Desktop\AssetScan\\vuln'
rename(path)


方式二:

import os

path = 'C:\\Users\Administrator\Desktop\AssetScan\\vuln'
files = os.listdir(path)
for i, file in enumerate(files):
    NewName = os.path.join(path, "AssetScan_"+file)
    OldName = os.path.join(path, file)
    os.rename(OldName, NewName)

 

以下在Windows的CMD命令操作窗口实现将.ts文件合并为.mp4文件:

1. 将文件夹内的 .ts文件名处理好. 一般均为按顺序排列. (殊情况需要根据.m3u8文件记录处理.)

  举例,根据实际情况处理. (可使用文件名修改程序处理)

    a1.ts a2.ts 这样的 在a后面加000  变成 a0001.ts a0002.ts

    a12.ts a13.ts 这样的 在a后面加00  变成 a0012.ts a0013.ts

    a100.ts a200.ts 这样的在a后面加0 变成 a0100.ts a0200.ts

    这样处理后, 文件名的位数一致都是5位.

    请注意, 文件名不处理好的话.合并的视频会错乱!

2. 文件名处理好后, 使用 cmd . 输入以下命令

  copy /b  D:\a\*.ts  D:\b\new.ts

      很快合并完成, 会在D:\b\ 下生成一个new.ts 这个就是合并好的文件.

3. 把new.ts 重命名为 new.mp4 使用普通的视频播放器就可以播放了.

 

 

本文地址:https://blog.csdn.net/tyler880/article/details/107120906