Python-从文件名创建文件夹,将文件移至创建的文件夹

时间:2020-08-19 19:31:12

标签: python

我正在尝试在python中做自己的Files2Folder,因为它可以满足我的需求。我有它以便它从文件名创建一个文件夹,但是每当我尝试将文件移到新创建的文件夹中时,都会返回错误。有什么想法吗?

import os
import os.path
import shutil
from pathlib import Path
import glob

rootdir = r'T:\rcloneFolder'
keepExt = ('.mkv', '.mp4', '.avi')
searchPath = Path(rootdir)


for file in searchPath.rglob("*"):
    if file.name.endswith(keepExt):
        print(file)
        newName = (os.path.splitext(file.name)[0])
        newFolders = os.mkdir(os.path.join(searchPath,newName))
        print("Made File Directory: " + newName)
        name = newName + '.mkv'
        shutil.move(file, os.path.join(rootdir, name))

2 个答案:

答案 0 :(得分:0)

from pathlib import Path
import glob, os
import shutil

for file in glob.glob('*.webm'):
    folder_name = file.split('.')[0]
    Path(folder_name).mkdir(parents=True, exist_ok=True)
    shutil.move(file, folder_name)

答案 1 :(得分:0)

我认为您要查找的是您需要使用rootdir而不是searchPathos.path.join,因为join需要一个纯字符串,所以新文件名将是{ {1}},因为您想重命名扩展名并将其移动到具有相同名称的文件夹中,因此以下代码相信可以满足您的需求:

os.path.join(rootdir, newName, newName) + ".mkv"
相关问题