使用PIL(Python)语法问题打开新图像

时间:2019-07-14 16:00:45

标签: python-3.x python-imaging-library

我正在使用PIL将成千上万的图像从.png转换为.jpg,以便可以使用openCV加载图像并进行操作。

问题是我有一个文件,其中包含图像的位置,例如:

project/data/image/000000000.png
project/data/image/000000001.png

问题是,当我读取变量中的这些行时:

file = open("project/data/loc.txt", "r")
var = [ line[:-1] for line in file ]

我的变量var,与loc.txt包含相同的行:

project/data/image/000000000.png
project/data/image/000000001.png

但是,接着是PIL。从我能够找到并工作的图像中加载图像,我需要将参数指定为:

Image.open(r"location")

由于我有var,其中包含一系列字符串,请使用:

image = []
for v in var:
    image.append( Image.open(???????????????) )

我不知道该怎么办。

我不能连接“ r” + v,因为那样想“ r” location”'(字符串中的字符串)。

我该怎么办?你有什么建议吗?我无法避免读取包含位置的文件,因为无法手动键入每个位置连续几千次以上。

1 个答案:

答案 0 :(得分:1)

如果要传递位置,则可以将fr""用作原始字符串。

location = "project/data/image/000000000.png"

img = Image.open(fr"{location}")

我们正在将f string与r(原始)一起使用。这使我们可以在运行时对字符串值使用原始(r)。

注意:- 这仅适用于3.5以上的python版本(或python版本> = 3.6)。