将文件夹路径附加到字符串名称

时间:2018-03-03 14:11:25

标签: python

我的目录中有几个我想要阅读的图像名称。

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")]

2 个答案:

答案 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这样的连接函数,我真的很喜欢这种方法,而不是使用字符串方法,因为它更健壮。