使用for循环变量命名文件

时间:2020-04-08 13:14:23

标签: python for-loop

我正在编写图像处理函数,并且正在使用for循环来测试不同的参数。我想使用相应的参数保存每个图像的结果,但是无法成功将该变量插入文件名。代码在

下面
for j in np.arange(.1,1,.1):
     noisy = img_as_float(grayscale)
     sigma_est = estimate_sigma(noisy, multichannel=False, 
                       average_sigmas=False)
     Bilateral = denoise_bilateral(noisy, sigma_color=j, sigma_spatial=15,
                                      multichannel=False)
     plt.imshow(Bilateral)
     print (j)
     parameter= print(type(j))
     io.imsave (parameter + "4311_denoise", Bilateral)

我得到了错误: TypeError:+不支持的操作数类型:“ NoneType”和“ str”

有人可以帮我在文件名中将给定的j参数作为str列出吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

认为,您打算这样做:


for j in np.arange(.1,1,.1):
     noisy = img_as_float(grayscale)
     sigma_est = estimate_sigma(noisy, multichannel=False, 
                       average_sigmas=False)
     Bilateral = denoise_bilateral(noisy, sigma_color=j, sigma_spatial=15,
                                      multichannel=False)
     plt.imshow(Bilateral)

     filename = f"{j}_4311_denoise"
     print(f"will save image to {filename}")
     io.imsave(filename, Bilateral)

这将在文件名0.1_4311_denoise,0.2_4311_denoise等下创建图像。

使用f字符串代替将变量与+并置通常会更健壮和灵活。

相关问题