我目前正在一个项目上,到目前为止,我已经生成了一个图像文件夹(png格式),在其中需要遍历每个图像并使用PIL对它进行一些操作。
通过手动将文件路径链接到脚本中,我可以正确执行该操作。 要遍历每张图片,我尝试使用以下内容
frames = glob.glob("*.png")
但是这会产生一个字符串形式的文件名列表。
PIL要求文件路径用于加载图像并因此进一步使用
filename = input("file path:")
image = Image.open(filename)
callimage = image.load()
如何转换glob.glob列表中的字符串并将其用作Image.open方法的参数?
感谢您的反馈!
我在python 3.6.1上是否具有任何相关性。
答案 0 :(得分:1)
使用os
软件包的解决方案:
import os
source_path = "my_path"
image_files = [os.path.join(base_path, f) for f in files for base_path, _, files in os.walk(source_path) if f.endswith(".png")]
for filepath in image_files:
callimage = Image.open(filepath).load()
# ...
使用glob
的解决方案:
import glob
source_path = "my_path"
image_files = [source_path + '/' + f for f in glob.glob('*.png')]
for filepath in image_files:
callimage = Image.open(filepath).load()
# ...