Чтение изображений из каталога и передача каждого изображения через пробел через питон - PullRequest
0 голосов
/ 27 апреля 2018

Я хочу передать изображения для некоторых x = img.jpg img1.jpg img2.jpg

Итак, я хочу передать эти изображения, читая из каталога и передавая "x" в python

как мне этого добиться?

1 Ответ

0 голосов
/ 27 апреля 2018

Вы можете объединить os.listdir () и str.join (), чтобы получить строку с именами файлов.

 Directory of c:\test

04/27/2018  12:05 PM    <DIR>          .
04/27/2018  12:05 PM    <DIR>          ..
04/27/2018  12:05 PM                 0 img.jpg
04/27/2018  12:05 PM                 0 img1.jpg
04/27/2018  12:05 PM                 0 img2.jpg
               3 File(s)              0 bytes
               2 Dir(s)  12,995,120,250,880 bytes free

В Python os.listdir () возвращает список со всеми файлами и каталогами по указанному пути. Используйте os.getcwd (получить текущий рабочий каталог), чтобы получить путь, по которому вы сейчас находитесь.

Python 2.7.3 (default, Apr 10 2012, 23:31:26) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> os.getcwd()
'c:\\test'
>>> os.listdir(os.getcwd())
['img.jpg', 'img1.jpg', 'img2.jpg']

Используйте str.join для преобразования списка в строку. Синтаксис этой команды немного сбивает с толку. Но для использования пробела, запятой и табуляции используйте:

>>> w = os.listdir(os.getcwd())
>>> w
['img.jpg', 'img1.jpg', 'img2.jpg']

>>> x = ' '.join(w)
>>> x
'img.jpg img1.jpg img2.jpg'

>>> x = '\t'.join(w)   # \t represents tab character
>>> x
'img.jpg\timg1.jpg\timg2.jpg'
>>> print(x)
img.jpg img1.jpg        img2.jpg

>>> x = ','.join(w)
>>> x
'img.jpg,img1.jpg,img2.jpg'

Если вы просто хотите получить список имен файлов, которые вы можете использовать для обработки, os.listdir () по-прежнему ваш друг:

import os

flist = os.listdir(os.getcwd())

for fname in flist:
    <do stuff with each file name here>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...