Create/Loop 通过不同的文件夹和保存文件
Create/Loop through different folders and Saving files
我想写一个代码去 input_folder[i],检查 output_folder[i] 是否存在,如果不存在则创建 output_folder[i]。定义输入和 output_folder_1 后,它会转到输入中的文件,对其执行操作并保存 output_folder_1.
Inputs = [dir for dir in os.listdir() if dir.startswith("DATASET_")]
for i in Inputs:
input_dir = i
try:
output_dir = [dir for dir in os.listdir() if dir.startswith("Result_"+ i)]
except:
print(f'Output_Dir {output_dir} does not exist. Creating new')
output_dir = os.mkdir("Result_" + i )
function(input_dir, output_dir)
它创建了输入和输出目录,但是当函数代码不执行时。如果我在 except 语句之外调用函数,它会报错。接下来的部分代码如下:
def function(input_dir, output_dir):
os.makedirs(output_dir, exist_ok=True)
im_list = [file for file in os.listdir(input_dir) if file.endswith(".png")]
错误如下:
TypeError: expected str, bytes or os.PathLike object, not list
你函数的第二个参数命名错误,应该是 output_dirs
(复数)。
然后很明显,在您想要的函数中
对其进行迭代。
或者,函数签名已经很完善了,
并且调用者应该遍历目录列表,
每次为函数提供一个目录。
我想写一个代码去 input_folder[i],检查 output_folder[i] 是否存在,如果不存在则创建 output_folder[i]。定义输入和 output_folder_1 后,它会转到输入中的文件,对其执行操作并保存 output_folder_1.
Inputs = [dir for dir in os.listdir() if dir.startswith("DATASET_")]
for i in Inputs:
input_dir = i
try:
output_dir = [dir for dir in os.listdir() if dir.startswith("Result_"+ i)]
except:
print(f'Output_Dir {output_dir} does not exist. Creating new')
output_dir = os.mkdir("Result_" + i )
function(input_dir, output_dir)
它创建了输入和输出目录,但是当函数代码不执行时。如果我在 except 语句之外调用函数,它会报错。接下来的部分代码如下:
def function(input_dir, output_dir):
os.makedirs(output_dir, exist_ok=True)
im_list = [file for file in os.listdir(input_dir) if file.endswith(".png")]
错误如下:
TypeError: expected str, bytes or os.PathLike object, not list
你函数的第二个参数命名错误,应该是 output_dirs
(复数)。
然后很明显,在您想要的函数中 对其进行迭代。
或者,函数签名已经很完善了, 并且调用者应该遍历目录列表, 每次为函数提供一个目录。