如何在Python中为每个文件名刮取文件名并创建目录?

如何在Python中为每个文件名刮取文件名并创建目录?,python,directory,Python,Directory,我试图在一个文件夹中刮取文件名,然后在另一个文件夹中为每个文件名创建目录。这是我到目前为止得到的,但当我运行它时,它不会在目标文件夹中创建新文件夹。当我在终端中运行它时,它不会返回任何错误 import os import shutil folder = "/home/ro/Downloads/uglybettyfanfiction.net/" destination = "/home/ro/A Python Scripts/dest_test/" # get each files path

我试图在一个文件夹中刮取文件名,然后在另一个文件夹中为每个文件名创建目录。这是我到目前为止得到的,但当我运行它时,它不会在目标文件夹中创建新文件夹。当我在终端中运行它时,它不会返回任何错误

import os
import shutil

folder = "/home/ro/Downloads/uglybettyfanfiction.net/"
destination = "/home/ro/A Python Scripts/dest_test/"

# get each files path name

def ensure_dir(f):
    d = os.path.dirname(f)
    if not os.path.exists(d):
        os.makedirs(d)

for files in os.listdir(folder):
    new_path = folder + files
    ensure_dir(new_path)

你犯了一些错误。无需使用
目录名
,您应该将其写入您的
目的地
,而不是相同的
文件夹

def ensure_dir(f):
    if not os.path.exists(f):
        os.mkdir(f)

for files in os.listdir(folder):
    new_path = destination + files
    ensure_dir(new_path)

为什么不调试或打印正在发生的事情呢?
d
是否总是与
文件夹
的值相同,该文件夹将存在或不存在。如果没有
请确保永远不会调用\u dir
。为什么不使用
destination
?这就是为什么我创建了一个for循环,在每个循环上创建一个新的文件路径,并且在每个路径的末尾更改文件名,因此理论上我应该以“dest_test”文件夹中的文件名命名文件夹。