如何在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”文件夹中的文件名命名文件夹。