尝试从列表中创建os.makedirs,但在创建之前检查这些文件夹是否存在



我可以通过存储文件名列表并写入同一目录来成功创建文件夹。

import os
folder_source = ('~filepathfilepath')
str = os.listdir(folder_source)
res = [sub.replace('.mp4', '') for sub in str] 
print(res)
for res in res:
os.makedirs(os.path.join(folder_source,res))

但我不确定如何将 if else 语句与 (res( 变量合并。因此,我可以从脚本所在的位置添加一个新位置。

os.path.exists
if not os.path.exists():
else:
os.removeddirs()

这是我所在的地方,但它不起作用。

import os

folder_source = ('~filepathfilepath')
folder_dest = ('~newfilepathnewfilepath')
str = os.listdir(folder_source)
res = [sub.replace('.mp4', '') for sub in str] 
print(res)
for res in res:
os.makedirs(os.path.join(folder_dest,res))
if not os.path.exists(folder_dest):
os.makedirs(folder_dest)
else:
os.removedirs(folder_dest)

我卡住了,有什么帮助吗?

怎么样?

import pathlib
folder_source = pathlib.Path('~filepath') / 'filepath'
folder_destination = pathlib.Path('destination_files') / 'newfilepath'
source_files = (
current_file for current_file in folder_source.iterdir() 
if current_file.is_file()
)
folders_to_create = (
folder_destination / current_source.stem if current_source.suffix == '.mp4' 
else folder_destination / current_source.name

for current_source in source_files 
)
for current_folder in folders_to_create:
current_folder.mkdir(parents=True, exist_ok=True)

我使用了 pathlib 模块来简化文件管理。

最新更新