Pythonは、フォルダー内のファイルを拡張子に応じて異なるフォルダーに配置します

目的:フォルダ内には多くのファイルがあり、多くの種類の拡張子があり、手動でコピーして貼り付けるのは非常に面倒です。コードを使用して実現したいと思います。
テスト用にいくつかのファイルを含む新しいフォルダーを作成します。
ここに画像の説明を挿入コードは拡張子に基づいて新しいフォルダーを実装し、同じ拡張子を持つすべてのファイルをこのフォルダーの下に配置します。

import shutil
import os
def classify(filespath,outpath):
    files=os.listdir(filespath)  # 获取所有的文件
    for x in files:
        srcname=os.path.join(filespath,x)  #每个文件的完整路径
        houzhui=x.split(".")[-1]  # 获取后缀名
        outfiles=os.path.join(outpath,houzhui) # 要放入的文件夹的路径
        if not os.path.exists(outfiles): # 路径不存在则创建
            os.mkdir(outfiles)
        filename=outfiles+"\\"+x
        print("复制文件---{}到--{}".format(srcname,filename))
        shutil.copyfile(srcname,filename)  # 复制文件


if __name__=='__main__':
    filespath = "E:/program/python/test"  # 存放文件的文件夹路径
    outpath = "E:/program/python/ffoutput" # 分类后的文件夹路径
    classify(filespath,outpath)

コードは主にshutil.copyfile(src、dst)モジュールです。

def copyfile(src, dst, *, follow_symlinks=True):
    """Copy data from src to dst.

    If follow_symlinks is not set and src is a symbolic link, a new
    symlink will be created instead of copying the file it points to.

    """

srcとdstはディレクトリではなくファイルである必要があります。dstがすでに存在する場合は、上書きされます。

おすすめ

転載: blog.csdn.net/liulanba/article/details/110873457