我正在使用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”'(字符串中的字符串)。
我该怎么办?你有什么建议吗?我无法避免读取包含位置的文件,因为无法手动键入每个位置连续几千次以上。
答案 0 :(得分:1)
如果要传递位置,则可以将fr""
用作原始字符串。
location = "project/data/image/000000000.png"
img = Image.open(fr"{location}")
我们正在将f string与r(原始)一起使用。这使我们可以在运行时对字符串值使用原始(r)。
注意:- 这仅适用于3.5以上的python版本(或python版本> = 3.6)。