java与python 交互为两种情况:
1:直接调用接口(url)
2:调用二者的类
其中第一种不过多赘述:
#Author:morefree
#-*- coding:utf-8-*-
import cv2
import requests
import os
import logging
import glob
def pic(i):
pic_list = glob.glob('D:\\untitled\\book\\demovideo\\video{}.png'.format(i))
print(pic_list)
return pic_list
def javaapi(filename):
url=""
data={"parentId":"","fileCategory":"personal","fileSize":179,"fileName":"video{}.png".format(filename),"uoType":1}
#filesize:指的是文件的字节大小。 filename:指的是你上传之后保存的文件名
# headers={''}
files={'file':('video{}.png'.format(filename),open('D:\\untitled\\book\\demovideo\\video{}.png'.format(filename),'rb'),'image/png',{})}
r=requests.post(url,data,files=files)
print(r.text)
LOG_FORMAT = "%(asctime)s - %(levelname)s - %(message)s"
logging.basicConfig(filename='my.log', level=logging.DEBUG, format=LOG_FORMAT)
# def save_pic(filepath="book\img"):
# if not os.path.exists(filepath):
# print("create filepath")
# os.makedirs(filepath)
# logging.debug("create a path")
# # filehouzhui = os.path.splitext(pic)[1]
# # filename = "{}\{}".format(filepath, file_name)
# #
# # urllib.request.urlretrieve(pic, filename=filename)
path1='D:\week04c.mp4'#文件名
vc=cv2.VideoCapture(path1)
fps=vc.get(5)
# print(fps)
# print("count",vc.get(7))
# print(type(vc))
logging.info("the video can be read")
count1=1
success =True
time1=1000
try:
while (success):
success,frame=vc.read()
i=1
if (count1% time1 == 0):
cv2.imwrite("video" + "%d.png" % (count1/1000), frame)
logging.debug("save successfully")
# print(count1/1000)
pic(int(count1/1000))
javaapi(int(count1/1000))
# print(i)
count1=count1+1
vc.release()
except:
print("读取失败")
logging.error("the video can not be read")
# return pic_list
#调用接口
# url = ''
# data = {'XXXX':'XXX'}
# headers = {'Connection':'close'}
# s=requests.session()
# r = s.post(url,data = data,headers = headers)
# # print(r.text.encode('utf-8'))
# pic()
# f={
# "localUrl":(None,'1.jpg'),
#
# }
# r=s.post(url,files=f)
第二种可以用到jython但是版本过于老旧,最近在研究接口的东西发现py4j,他可以完美解决jython的问题,well,首先安装(本人用windows7,anaconda)直接pip install py4j,就ok了,然后在anaconda中的share中找到py4j,以及目录下的jar,导入到eclipse中。一切ok
接下来就是二者的交互了,不过多赘述。
文章部分来源:https://blog.csdn.net/tryto21/article/details/79667107
网友评论