gpt4 book ai didi

Python-gphoto2 : how to convert output to JSON or python array

转载 作者:行者123 更新时间:2023-12-01 01:26:15 25 4
gpt4 key购买 nike

我正在使用 gphoto2,大多数命令都可以工作,但我不知道如何使用命令行的输出进行下一步操作。

例如:

我想获取相机中的照片列表

command = ["sudo","gphoto2","--get-all-files","--skip-existing"]
call(command)

结果:

There is no file in folder '/'.                                                
There is no file in folder '/store_00010001'.
There is no file in folder '/store_00010001/DCIM'.
There are 6 files in folder '/store_00010001/DCIM/100EOS5D'.
#1 OM6_0018.JPG rd 12335 KB image/jpeg
#2 OM6_0019.JPG rd 12686 KB image/jpeg
#3 OM6_0020.JPG rd 12500 KB image/jpeg
#4 OM6_0021.JPG rd 12438 KB image/jpeg
#5 OM6_0022.JPG rd 12668 KB image/jpeg
#6 OM6_0023.JPG rd 12760 KB image/jpeg

我的目标是获取 JSON 或 Python 数组中的输出:

['OM6_0018.JPG', 'OM6_0019.JPG', 'OM6_0020.JPG', ...]

如有任何建议,我们将不胜感激。

最佳答案

所以,我不知道 gphoto 是如何工作的,但我会大胆猜测,您应该这样做,而不是进行子进程调用:

import gphoto2 as gp

def list_files(camera, path='/'):
result = []
# get files
for name, value in gp.check_result(
gp.gp_camera_folder_list_files(camera, path)):
result.append(os.path.join(path, name))
# read folders
folders = []
for name, value in gp.check_result(
gp.gp_camera_folder_list_folders(camera, path)):
folders.append(name)
# recurse over subfolders
for name in folders:
result.extend(list_files(camera, os.path.join(path, name)))
return result

camera = ... #TODO set camera here
path = ... #TODO set path here
files = list_files(camera, path)

完整示例请参见此处:https://github.com/jim-easterbrook/python-gphoto2/blob/master/examples/list-files.py

关于Python-gphoto2 : how to convert output to JSON or python array,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53320985/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com