Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java .jar在python中的集成_Java_Python_Jar_Integration - Fatal编程技术网

Java .jar在python中的集成

Java .jar在python中的集成,java,python,jar,integration,Java,Python,Jar,Integration,我正在python程序中访问一个java jar以获取图像的元数据。我的文件夹中有大约90000个图像。对于每个图像,我需要使用jar并从中获取数据。目前我已经编写了如下代码,完全可以处理10个图像。但是当我有很多图像时,速度非常慢。我的代码如下所示 def jarWrapper(*args): process = Popen(['java', '-jar']+list(args), stdout=PIPE, stderr=PIPE) ret = [] while pro

我正在python程序中访问一个java jar以获取图像的元数据。我的文件夹中有大约90000个图像。对于每个图像,我需要使用jar并从中获取数据。目前我已经编写了如下代码,完全可以处理10个图像。但是当我有很多图像时,速度非常慢。我的代码如下所示

def jarWrapper(*args):
    process = Popen(['java', '-jar']+list(args), stdout=PIPE, stderr=PIPE)
    ret = []
    while process.poll() is None:
        line = process.stdout.readline()
        if line != '' and line.endswith('\n'):
            ret.append(line[:-1])
    stdout, stderr = process.communicate()
    ret += stdout.split('\n')
    if stderr != '':
        ret += stderr.split('\n')
    ret.remove('')
    return re

def main():
    listofkeys =['Content-Length','Image Height','Image Width']
    hashvaludict ={}

    for dirpath, dirs, files in os.walk('/Users/akira/Documents/LiClipseWorkspace/cnf/duplicate_image'):

        files = [fi for fi in files if not fi.startswith(".DS_Store")]
        files = sorted(files)
        for filename in files:
            listofcontentvalue =[]
            args = ['/Users/akira/tika-app-1.10.jar','-m' ]
            args.append(os.path.join(dirpath, filename))
            #print args
            result = jarWrapper(*args)

main()

请给我建议一种方法,让这个过程更快。

你分析过代码了吗?也许你应该(如果可能的话)用java做所有的事情,你会“赢得”java应用程序“预热”,我只需要用python来做……或者使用PIL/Pillow()如果这能让你得到你想要的信息,我只需要使用这个jar来获取元数据。还有其他方法从python脚本执行jar吗?