如何循环一个文件夹,并在另一个具有相同结构的文件夹中重新创建它们?
How to loop over a folder, and recreate them in another folder with same structure?
我想处理一个文件夹并模糊图像并在另一个文件夹中重新创建它们,同时保留结构。
我的源文件夹结构如下
Data/
test1/
test2/
6.png
4.png
5.jpeg
1.jpg/
2.jpg
3.jpeg
我想对所有这些图像进行模糊处理并将它们保存在另一个文件夹中
src = 'C:\Users\shakhansho\Downloads\Data' #folder with images
dst = 'C:\Users\shakhansho\Downloads\Output' #folder for output
假设我有一个函数,它获取图像路径然后应用模糊,然后将其保存在同一目录中blur(path_to_img)
如何遍历 src
文件,模糊处理,然后保存在 dst
文件夹中并保留 structure.I 希望 dst
文件夹包含相同的文件夹名称和图像名称但模糊不清。
我建议为此使用 glob.glob
(或 glob.iglob
)。它可以递归地查找目录下的所有文件。然后,我们可以简单地以某种方式打开图像,对其进行转换,找到输出文件和文件夹,可选择创建该文件夹,然后写出转换后的图像。该代码包含注释以稍微详细说明这些步骤。
import glob
import os
# Recursively find all files under Data/
for filepath in glob.iglob("Data/**/*.*", recursive=True):
# Ignore non images
if not filepath.endswith((".png", ".jpg", ".jpeg")):
continue
# Open your image and perform your transformation
# to get the blurred image
with open(filepath, "r") as f:
image = f.read()
blurred = transform(image)
# Get the output file and folder path
output_filepath = filepath.replace("Data", "Output")
output_dir = os.path.dirname(output_filepath)
# Ensure the folder exists
os.makedirs(output_dir, exist_ok=True)
# Write your blurred output files
with open(output_filepath, "w") as f:
f.write(blurred)
我重新创建了您的文件结构,我的程序能够 re-create 确切的文件结构,但在 Output
下。
我想处理一个文件夹并模糊图像并在另一个文件夹中重新创建它们,同时保留结构。
我的源文件夹结构如下
Data/
test1/
test2/
6.png
4.png
5.jpeg
1.jpg/
2.jpg
3.jpeg
我想对所有这些图像进行模糊处理并将它们保存在另一个文件夹中
src = 'C:\Users\shakhansho\Downloads\Data' #folder with images
dst = 'C:\Users\shakhansho\Downloads\Output' #folder for output
假设我有一个函数,它获取图像路径然后应用模糊,然后将其保存在同一目录中blur(path_to_img)
如何遍历 src
文件,模糊处理,然后保存在 dst
文件夹中并保留 structure.I 希望 dst
文件夹包含相同的文件夹名称和图像名称但模糊不清。
我建议为此使用 glob.glob
(或 glob.iglob
)。它可以递归地查找目录下的所有文件。然后,我们可以简单地以某种方式打开图像,对其进行转换,找到输出文件和文件夹,可选择创建该文件夹,然后写出转换后的图像。该代码包含注释以稍微详细说明这些步骤。
import glob
import os
# Recursively find all files under Data/
for filepath in glob.iglob("Data/**/*.*", recursive=True):
# Ignore non images
if not filepath.endswith((".png", ".jpg", ".jpeg")):
continue
# Open your image and perform your transformation
# to get the blurred image
with open(filepath, "r") as f:
image = f.read()
blurred = transform(image)
# Get the output file and folder path
output_filepath = filepath.replace("Data", "Output")
output_dir = os.path.dirname(output_filepath)
# Ensure the folder exists
os.makedirs(output_dir, exist_ok=True)
# Write your blurred output files
with open(output_filepath, "w") as f:
f.write(blurred)
我重新创建了您的文件结构,我的程序能够 re-create 确切的文件结构,但在 Output
下。