PYモバイルファイルコード、バッチ変更ファイル名コード

ファイル コードをバッチで変更する [ビデオ データセットの処理に必要]

import os

# 所修改文件存放的路径、添加文件前缀
def reFileName(filepath, pre):
    f = os.listdir(filepath)
    n = 0
    for i in f:
        oldname = filepath + f[n]
        newname = filepath + pre + "__" + f[n]
        os.rename(oldname, newname)
        print(oldname, "===>", newname)
        n += 1


# 实现对一目录下所有子目录的文件名进行修改
if __name__ == '__main__':
	# 所修改文件存放的路径的上级目录
    path = 'D:/3stone/dataset/U-DETRAC/Insight-MVT_Annotation_Train/' 
    f = os.listdir(path)
    n = 0
    for size in range(len(f)):
    	# 所修改文件存放的路径
        filepath = 'D:/3stone/dataset/U-DETRAC/Insight-MVT_Annotation_Train/' + f[n] +'/'
        reFileName(filepath, f[n])
        n += 1
    print("reFileName done")

ファイルの一括移動

import os
import shutil


# 想获取的训练集和测试集移动至新的目录
def remove_file(old_path):
    # old_path = 'D:/3stone/dataset/traffic/validation-image_2'  # train 和 image都在同一个目录下,这里只读取一个路径
    new_path = 'D:/3stone/dataset/U-DETRAC/Insight-MVT_Annotation_Train'  # 新train图片存储目录

    file_list = os.listdir(old_path)  # 列出该目录下的所有文件,listdir返回的文件列表是不包含路径的。

    if len(file_list) == 0:
        print("该目录为空!请重新检查目录")
        return

    for file in file_list:
        src = os.path.join(old_path, file)  # 源图片目录
        dsc = os.path.join(new_path, file)  # 移动至train图片目录
        print('src:', src)
        print('dsc:', dsc)
        shutil.move(src, dsc)
        print('train images move succeed!')


def reFileName(filepath, pre):
    f = os.listdir(filepath)
    n = 0
    for i in f:
        oldname = filepath + f[n]
        newname = filepath + pre + "_" + f[n]
        os.rename(oldname, newname)
        print(oldname, "===>", newname)
        n += 1


# 实现对一目录下所有子目录的文件移动到其上级目录下
if __name__ == '__main__':
    path = 'D:/3stone/dataset/U-DETRAC/Insight-MVT_Annotation_Train/'
    f = os.listdir(path)
    n = 0
    for size in range(len(f)):
        filepath = 'D:/3stone/dataset/U-DETRAC/Insight-MVT_Annotation_Train/' + f[n] + '/'
        # reFileName(filepath, f[n])
        remove_file(filepath)
        n += 1
    print("reFileName done")

おすすめ

転載: blog.csdn.net/lafsca5/article/details/127264367