将一个文件夹中的多个jpg文件编码为python中的base 64

时间:2019-02-25 09:13:26

标签: python

如何将一个文件夹中的多个jpeg文件编码为base64。目前,我的代码可以编码一个文件。但是,我希望将所有jpeg文件编码在文件夹路径中。

with open("path\\A.jpg", "rb") as image_file:
    encoded_string = base64.b64encode(image_file.read())

extract_ocr_words(编码字符串)

在上面的路径中,将有多个jpeg文件,例如

A.jpg
B.jpg
C.jpg

最终输出应合并文件夹中的所有图像并提取文本并在最终命令中显示为列表

extract_ocr_words(encoded_string)

['ABC', 'LKM', 'GHI', 'TLI', 'CLI']

1 个答案:

答案 0 :(得分:1)

您必须遍历文件夹内的文件。您可以使用os库(link):

import os

words = []
directory = 'path/to/your/pictures'
for filename in os.listdir(directory):
    if filename.endswith(".jpg"): 
        with open(os.path.join(directory, filename), "rb") as image_file:
            encoded_string = base64.b64encode(image_file.read())
            words.extend(extract_ocr_Words(encoded_string))
    else:
        continue
print('Words from all files')
print(words)

您还可以使用os.path.join()link to function)函数来连接路径的两个部分。它可以在Windows和Unix系统上运行。这比转义\更好。然后由您决定如何处理编码后的图像。

您仍然可以使用glob软件包来缩短代码。 该功能可以通过以下方式实现:

import glob

words = []
for f_name in glob.glob('*.jpg'):
    with open(f_name,"rb") as image_file:
         encoded_string = base64.b64encode(image_file.read())
         words = extract_ocr_Words(encoded_string)
         words.extend(extract_ocr_Words(encoded_string))
    else:
        continue
print('Words from all files')
print(words)