我的目录中有几个我想要阅读的图像名称。
sq_of_images = listdir('images/sequence1/')
sq_of_images = [img for img in sq_of_images if img.endswith(".jpg")]
print(sq_of_images)
['im_001.jpg','im_002.jpg','im_003.jpg','im_004.jpg','im_005.jpg', 'im_006.jpg','im_007.jpg','im_008.jpg','im_009.jpg','im_010.jpg', 'im_011.jpg','im_012.jpg','im_013.jpg','im_014.jpg','im_015.jpg', 'im_016.jpg','im_017.jpg','im_018.jpg','im_019.jpg','im_020.jpg', 'im_021.jpg','im_022.jpg','im_023.jpg','im_024.jpg','im_025.jpg', 'im_026.jpg','im_027.jpg','im_028.jpg','im_029.jpg','im_030.jpg'] 30
我想将文件夹路径附加到图像,但无法弄清楚如何操作。以这种方式打字会给我一个错误。
sq_of_images = ['images/', img for img in sq_of_images if img.endswith(".jpg")]
答案 0 :(得分:2)
虽然您可以使用简单的字符串连接'images/' + img
,但是有一个os
子模块用于处理名为path
的路径。您可以使用os.path.join
加入路径:
from os import path
sq_of_images = [path.join('images/', img) for img in sq_of_images if img.endswith(".jpg")]
答案 1 :(得分:1)
您可以使用加号而不是逗号连接字符串:
sq_of_images = ['images/' + img for img in sq_of_images if img.endswith(".jpg")]
您还可以使用format
将多个字段插入字符串:
sq_of_images = [
'{img_folder}/{img_name}'.format(img_folder='images', img_name=img)
for img in sq_of_images if img.endswith(".jpg")]
当然你也可以在他的回答中使用像Reut Sharabani这样的连接函数,我真的很喜欢这种方法,而不是使用字符串方法,因为它更健壮。