python接口如何先return后还能调用函数 5C

业务场景:java程序中需要调用python程序接口做视频处理。为了不影响请求python接
口使java程序一直等待返回,需要python接口收到请求后就return成功或者失败状态,
然后再进行视频处理,处理完成后再回调java接口。
那么问题来了:python接口如何先return后还能调用函数?不能使用try/catch的finall去
处理,这样处理还是会先执行finally里的函数后才去return

8个回答

就是Python的接口要收到请求后就先返回。然后再进行真正的视频处理工作,等工作完成后,再调用Java返回真正的结果

qq_37276197
qq_37276197 等大神回复吧
一年多之前 回复
weixin_39738837
weixin_39738837 就是Python的接口要收到请求后就先返回。然后再进行真正的视频处理工作,等工作完成后,再调用Java返回真正的结果
一年多之前 回复
liubang159
liubang159 是的
一年多之前 回复

你需要的是异步,用回调

异步 可以尝试一下gevent

写一个java异步函数,和一个java回调函数。把python处理代码放异步函数里,python代码执行完后回调。

简单实现,可以设置一个标记,比如写入一个文件一个指定参数,另外一个子程序定期检测, 有消息就处理,处理完毕后再写入另外一个处理完毕的文件,在主程序也循环检测处理结果,一旦处理完毕就调用java


用自带的消息处理机制就行了

从 python 程序的架构上,应该有多线程或多进程(甚至多个不同python服务器,服务器之间用mq通信),有专门处理 java 通信的,还有专门处理视频。看楼主提的问题,感觉没有分开,这样系统业务多的话,会有问题。

如果业务少的话,仅仅为了实现楼主的这个 return 后怎么再处理,那就在 return 前用 python threading.Thread 再开一个线程处理视频即可。

将return语句放在try语句块中

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
python 内嵌函数中,return调用函数的区别
这个程序有问题,在外部函数funX中,返回的是funY(),,,不对。。应该返回funY….改正后即可运行。。另一种调用方法:综上所述,调用函数时,必须加括号;如果是return funY,则返回的是这个函数所在的位置;如果后面跟的是函数名,加括号的,则表示调用这个函数。如果没有找到相应的函数,则报错。如果找到了对应的函数,并且对应参数一样,则会调用那个函数。所以,return后面既可以是funY,
python学习——调用函数
Python内置了很多有用的函数,我们可以直接调用。 要调用一个函数,需要知道函数的名称和参数,比如求绝对值的函数abs,只有一个参数。可以直接从Python的官方网站查看文档: http://docs.python.org/3/library/functions.html#abs 也可以在交互式命令行通过help(abs)查看abs函数的帮助信息。 调用abs函数: >>...
视图切换后如何直接调用函数
有个播放器的程序,选择play后会调用play()函数(view中)。现在我把参数都默认了,想在播放器打开后直接调用play()函数,请问写在哪里好?rn我在doactivate()函数最后写了play()函数,但是跑完play()函数就跳出了rn我把play()函数改到container中,想写在draw的最后,但是const的类型不对,要改的太多。请问该如何写呢?rn还是我的第一个方法有其他的错误?
Delphi怎么调用函数接口?
---------rn调用函数接口如下:rnrn1. long PJQ_Open()rn功能:打开usb设备虚拟串口,并与设备建立连接rn返回值:成功:返回相应的串口句柄 >0rn 失败:返回 -1rn---------rnrn请问上述long PJQ_Open()如何调用?rn请举个例子说明一下
如何调用函数接收接口发送过来的数据?
这是接口的2个函数rn[code=c][helpstring("获得变量值")] virtual HRESULT STDMETHODCALLTYPE GetDataValue(/*[in]*/ BSTR bstrSymble,/*[out, retval]*/ VARIANT* value) = 0;rn[helpstring("设置变量值")] virtual HRESULT STDMETHODCALLTYPE SetDataValue(/*[in]*/ BSTR bstrSymble,/*[in]*/ VARIANT value) = 0;[/code]rn我查了一下需要写了一个类继承此接口并重写了这两个函数,但是调用的时候怎么掉用?VARIANT value这个变量我该用什么参数?value不是接口送过来我需要得到的数据吗?为什么是函数的变量?
自定义函数中的print,return和调用函数自身的区别
在自定义函数中,我们常常会用到返回值,常常用的方式就是print和return,两者有什么区别呢 先看两个例子: 题目: #     L = [[3, 5, 8], 10, [[13, 14], 15, 18], 20] #     1) 写一个函数print_list(lst) 打印出所有元素 #       print_list(L)  # 打印 3 5 8 10 13 14 ... ...
a标签 return false;还能跳转界面
示例: <a id="a" onclick="a();" href="www.baidu.com" title="this is spring" ><img src="images/spring.jpg" /></a> js代码: <script> function a(){ alert("11"); return fa...
先接口还是先汇编?
想必各位都知道,计算机专业里有一门很重要的课程叫“微型计算机与接口技术”,貌似需要汇编,但是最近又看到网上有不少人说,它是汇编的基础,本人糊涂ing。究竟是先学汇编还是先接口啊?望各位过来人留几个字,指条活路吧。
python调用函数和列表的问题
为啥列表没有复制上rn![图片说明](https://img-ask.csdn.net/upload/201905/28/1559035209_151529.png)rnrn运行结果如下:rnrn![图片说明](https://img-ask.csdn.net/upload/201905/28/1559035256_816477.png)rnrn下面是运行成功的程序和结果图rn![图片说明](https://img-ask.csdn.net/upload/201905/28/1559035299_459243.png)rn![图片说明](https://img-ask.csdn.net/upload/201905/28/1559035332_589402.png)
Python基础-函数-调用函数
官方文档学习地址http://docs.python.org/3/library/functions.html#absHelp(命令)D:\PythonProject>python Python 2.7.13 (v2.7.13:a06454b1afa1, Dec 17 2016, 20:42:59) [MSC v.1500 32 bit (Intel)] on win32 Type "help",
python动态调用函数
举例 文件 windows_params 包含两个方法,两个参数 a = 1 b = 2 def count(): print('count') def get(): print('get') 然后来调用啦 import windows_params as lp def invoke_method(method): value = eval('lp.'+met...
如何调用函数?
我把一段函数写在<% %>里,如下:rnrn<%rnfunction fun()rn ....rnend functionrn%>rnrn然后在button的click事件中调用它rnrn点击的时候说是“缺少对象”,请问各位应该怎么写才对?另外如果要在上面的fun()函数引用控件(比如button,文本框)的值,把它赋值给某个变量又该怎么办?rn谢谢!!rnrn
如何调用函数
我想把通用函数都写到一个文件里面rnrn其他的aspx如何倒入他们,在其页面调用那个文件里的函数呢?
远程注入后调用函数问题
远程注入DLL 问题注入后不知道如何调用函数 //注意我说的不是直接调用函数rn高手解答~ 如何远程调用函数 rnrn如果有全局注入的例子 也可以传上来 rn急需 谢谢!
python定义和调用函数
python 查看调用函数的方法
>>> import inspect >>> def f1(): f2() ... >>> def f2(): ... curframe = inspect.currentframe() ... calframe = inspect.getouterframes(curframe, 2) ... print 'caller name:', calframe[1][3] ... >>
Python 实现异步调用函数
async_call.py #coding:utf-8 from threading import Thread def async_call(fn): def wrapper(*args, **kwargs): Thread(target=fn, args=args, kwargs=kwargs).start() return wrapper test.p...
java调用接口(跨域调用函数)
跨域请求
高分征集手机接口及调用函数
高分征集手机接口及调用函数,或资料,不够再加!!!!!!!!
GetProcAddress后无法调用函数
#include rn#include rnrn[b]typedef int (CALLBACK * LPFNDLLFUNC1)(int,int);[/b]rnrnLPFNDLLFUNC1 cal;rnint re;rnrnint main()rn rnHMODULE hmod=LoadLibrary(TEXT("dll1.dll"));rnprintf("%d\n",GetLastError());rnrn[b]cal = (LPFNDLLFUNC1)GetProcAddress(hmod,"add");[/b]rnrnprintf("%d\n",GetLastError());rnprintf("%d\n",cal);rnprintf("%d",GetProcAddress(hmod,"add"));rnrnre=cal(1,2);// add函数 2个GetLastError());都返回0 都能正解得到地址,但是rnrnrn system("pause");rn exit(0);rnrnrnrnrnadd函数 为rnint add (int a,int b)rnreturn a+brnrnrn其中 2个GetLastError());都返回0 都能正确得到地址,但是就是不能用cal来调用.
Python调用函数异常
[code=python]SCRABBLE_LETTER_VALUES = rn 'a': 1, 'b': 3, 'c': 3, 'd': 2, 'e': 1, 'f': 4, 'g': 2, 'h': 4, 'i': 1, 'j': 8, 'k': 5, 'l': 1, 'm': 3, 'n': 1, 'o': 1, 'p': 3, 'q': 10, 'r': 1, 's': 1, 't': 1, 'u': 1, 'v': 4, 'w': 4, 'x': 8, 'y': 4, 'z': 10rnrnrndef get_word_score(word, n):rnrn score = 0rnrn for letter in word:rn score = score + SCRABBLE_LETTER_VALUES[letter]rnrn if len(word) == n:rn score += 50rn rn return score[/code]rnrnrnrn上面是我在一个文件(ps5.py)里定义的函数get_word_score。在这个文件里调用这个函数可以正常返回值。score = get_word_score('waybill', 7)返回65。但是在另一个测试文件(test_ps5.py)里同样的方法调用这个函数返回None。rnrn这是为什么?rn
python中调用函数
python中有内置的函数,我们可以直接调用来使用。调用函数需要写函数名和参数。 一、abs():求绝对值的函数,这个函数需要传一个整数或者浮点数作为参数。 如果参数个数传递错误,函数会报错:需要一 个参数,但是给了两个 如果参数类型传递错误,函数也会报类型错误: 二、cmp():比较大小函数,需要传进两个参数 cmp(x,y) 当x>y,返回1;
python题目-奇偶数调用函数
编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n 当输入n为奇数时,调用函数1/1+1/3+...+1/n from functools import reduce a = [] c = [] def Even(n): for i in range(1,n+1): if i % 2 == 0: a.append(...
■■如何调用函数
--分割函数,返回一个表rn--将字符串aaa,bbb,cccrn--分割成表格Trn--aa   bb   ccrn---------------------------rn--aaa  bbb  cccrnrncreate function mysplit(@id int)rnreturns @T table(aa nvarchar(10),bb nvarchar(20),cc nvarchar(20))rnas rnbeginrn......rn......rnreturn rnendrnrnrn--数据源表srcrn--ss          idrn----------------------------------------rn--aaa,bbb,ccc      3rn--rrr,ccc,iii      4rn我想将上面的二条数据都分割后合并为rn--ss       id aa  bb   ccrn---------------------------------------------rn--aaa,bbb,ccc   3 aaa  bbb  cccrn--rrr,ccc,iii   4 rrr  ccc  iiirnrnrn我这样调用rnselect * from dbo.getclientid(cc.id) gg join (select * from clientbuytemp) cc on gg.id=cc.idrn不行...rnrn服务器: 消息 170,级别 15,状态 1,行 3rn第 3 行: '.' 附近有语法错误。rn服务器: 消息 170,级别 15,状态 1,行 3rn第 3 行: 'cc' 附近有语法错误。rnrn应该是dbo.getclientid(cc.id)这里出错了,如果指定一个具体值就不会出错.rnrn请问如何调用呢?
如何调用函数?
我将一个函数定义在窗口的public中,如果要在该窗口本身程序中调用该函数,该调用语句应如何写?为何我直接用函数名调用无法通过编译?
response.end后还能么?
我是网页中间从数据库中调数据,如果数据记录为0rn则 response.endrnrn但是,网页末尾还有rn我还想让他出现.请问有没有好办法?
如何后入先显示
俺绑定了个datagridrn每次录入一条数据后,都刷新记录集rn然后新录入的数据总是到了最后rn如何能让新录的显示到最前面呀
CreateOleObject后,调用函数传递字节数组,报错,不支持此接口
代码如下:rnvarrn aclass : Variant;rn suz : string;rn sz : Variant;rnbeginrn aclass := CreateOleObject('Network.Crypto');rn sz:=aClass.Encrypt3DES('0123456789','omXqC1jl1U9mUTmJomXqC1jl');rn suz := aclass.ToBase64(sz);rn Memo1.Lines.Add(suz);rnend;rnrn上面aClass.Encrypt3DES返回一个byte数组,sz:array of byternaclass.ToBase64参数也是一个字节数组,执行到这里后,就报不支持此接口,这是怎么回事?
--python学习笔记--return相关
return:返回函数返回值          --return可以出现在函数语句块的任何地方          --return可以出现任意多次              def fun():                     if turn():                            return                      elif turn(...
python的return详解。
  1,return语句用于退出函数,向调用方返回一个表达式。执行到return语句时,会退出函数,return之后的语句不再执行。如: def my_print(x): if x == 1: return False print('i am xiaotao') return True a = my_print(1) # 满足if,执行return...
Python:函数、return语句
函数 function 什么是函数 函数是可以重复执行的语句块,可以重复调用并执行 函数是面向过程编程的最小单位 作用: 用于封装语句块,提高代码的重用性 定义用户级别的函数 提高代码的可读性和易维护性 def 语句: 语法: def 函数名(形参列表): 语句块 作用: 创建一个函数,将语句块打包,用函数名绑定,用来调用 说明: 1. 函数名的命名规则与变量名的规则...
return后函数继续执行...
以下是我自己随便写的一段代码,想实现2分法查找rnrn/**rn * 二分法查找rn * rn * @param arn * 被查数组rn * @param xrn * 目标整数rn * @return x在a中的index值rn */rn public int findBy2(int[] a, int x, int direct) rn int n = a.length / 2;rn index += direct * n;rn System.out.println("迭代后的index值是:" + index);rn if (a.length % 2 == 0) // 数组长度为偶数 直接平分rn if (x == a[n]) rn return index;rn else rn if (x > a[n]) rn int[] b = Arrays.copyOfRange(a.clone(), n, a.length);rn findBy2(b, x, 1);rn else if (x == a[n - 1]) rn return index - 1;rn else // x
return; 返回后的问题。
[code=C#] StringBuilder bs = new StringBuilder();rn int attCount = 0;rn string filePath = "";rn string strPath = "";rn for (int j = 0; j < Request.Files.Count; j++)rn rn if (Request.Files[j].ContentLength > 0)rn rn filePath = Request.Files[j].FileName;rn string FileType = filePath.Substring(filePath.LastIndexOf("\\") + 1).ToLower();rn if (FileType.ToString() == ".jpg" && FileType.ToString() == ".gif" && FileType.ToString() == ".bmp" && FileType.ToString() == ".png")rn rn strPath = Server.MapPath("~/studentfile/") + filePath.Substring(filePath.LastIndexOf("\\") + 1);rn bs.Append("Files" + attCount++ + ": " + filePath + " ");rn Request.Files[0].SaveAs(strPath);rn string NowTime = DateTime.Now.ToString("yyyyMMddHHmmss ");rn string NewFileName = NowTime + filePath.Substring(filePath.LastIndexOf("\\") + 1);rn sfm1.StudentFile_FileName = filePath;rn sfm1.StudentFile_FileMewName = NewFileName;rn sfm1.StudentFile_Name = FileType;rn rn elsern rn Response.Write(" ");rn return;rn rn rn [/code]rnrn判断了文件上传的格式,如果格式不正确,程序停止运行提示错误Mes 但是返回是返回了 程序也没有再往下运行了 前面输的内容也没到数据库里 但是它return后页面所有输入正确的数据也都清空了 还要重新填写 好麻烦 有什么好的办法吗。
Python(4)————返回值return
return语句
如何在这里return confirm后返回的值?
[code=C#]rn如何在这里return confirm后返回的值?rnrn(不要扯到其它类似实现的问题上去。)rnrnusing System;rnusing Microsoft.VisualBasic;rnusing System.Text;rnusing System.Collections;rnusing System.Web;rnusing System.Web.UI;rnusing System.Web.UI.WebControls;rn rn rnnamespace TestWebMsgApprnrn public class WebMsgBoxrn rn protected static Hashtable handlerPages = new Hashtable(); rn private WebMsgBox()rn rn rn rn public static void Show(string Message)rn rn if (!(handlerPages.Contains(HttpContext.Current.Handler)))rn rn Page currentPage = (Page)HttpContext.Current.Handler;rn if (!((currentPage == null)))rn rn Queue messageQueue = new Queue();rn messageQueue.Enqueue(Message);rn handlerPages.Add(HttpContext.Current.Handler, messageQueue);rn currentPage.Unload += new EventHandler(CurrentPageUnload);rn rn rn elsern rn Queue queue = ((Queue)(handlerPages[HttpContext.Current.Handler]));rn queue.Enqueue(Message);rn rn // 如何在这里return confirm后返回的值???。rn // 就是调用Show(string Message)能返回一个值,根据确定还是取消rnrn rn rn private static void CurrentPageUnload(object sender, EventArgs e)rn rn Queue queue = ((Queue)(handlerPages[HttpContext.Current.Handler]));rn if (queue != null)rn rn StringBuilder builder = new StringBuilder();rn int iMsgCount = queue.Count;rn builder.Append(" ");rn handlerPages.Remove(HttpContext.Current.Handler);rn HttpContext.Current.Response.Write(builder.ToString());rn rn rn rn rn rnrnrnrnrnrn[/code]
应该先定义函数再调用函数
第一阶段(4-10天)rn 该阶段我们正式进入Python这门语言的学习,我们会学习Python语言的核心语法及进阶内容。rn第二阶段(11-13天)rn 该阶段我们会学习面向对象(OOP)这一重要的编程思想rn第三阶段(14-15天)rn 该阶段是项目演练阶段,我们会带领大家通过使用之前学习过的知识开发飞机大战这一经典游戏。
Python学习笔记__2.1章 调用函数
# 这是学习廖雪峰老师python教程的学习笔记函数是最基本的一种代码抽象的方式。Python不但能非常灵活地定义函数,而且本身内置了很多有用的函数,可以直接调用。1、调用python内部函数Python内置了很多有用的函数,我们可以直接调用。要调用一个函数,需要知道函数的名称和参数,比如求绝对值的函数abs,只有一个参数 调用abs函数:&amp;gt;&amp;gt;&amp;gt; abs(100)100&amp;g...
python关于调用函数外的变量
class Solution(object): def foo(self, s): def bar(a): s += a print s bar("aa") Solution().foo("ss") 运行结果 UnboundLocalError: local variable 's' referenced
python调用函数怎么出错了?
比方我在zhang.py里面写了个rndef hello(name):rn return 'hello'+name+'!'rnrnrn然后在命令窗口rn>>>import zhangrn>>>name='mike'rn>>>hello(name)rnrn为啥报错说hello找不到呢,新手,各位帮帮忙,万分感谢
相关热词 c#入门推荐书 c# 解码海康数据流 c# xml的遍历循环 c# 取 查看源码没有的 c#解决高并发 委托 c#日期转化为字符串 c# 显示问号 c# 字典对象池 c#5.0 安装程序 c# 分页算法