python调用Java代码

本文详细介绍了如何在Python中使用subprocess模块调用Java的jar包,包括指定main函数、设置Popen参数(如args、stdin、stdout等)以及与子进程的交互方法(communicate)。
摘要由CSDN通过智能技术生成

python调用Java代码,可以通过subprocess模块调用jar包完成:
1、Java代码指定main函数,编写main函数,确定函数参数,生成jar包并导入到python project中;
2、在python projec中导入subprocess,使用subprocess.Popen(),Popen的参数依据实际情况填写,一般只需要
args、 stdin、stdout、stderr和encoding。
3、通过communicate(input,timeout)和子进程交互,发送和读取数据。

class subprocess.Popen(args, bufsize=-1, executable=None, stdin=None, 
                       stdout=None, stderr=None, preexec_fn=None, 
                       close_fds=True, shell=False, cwd=None, 
                       env=None, universal_newlines=False, 
                       startupinfo=None,                                                                                                                                                  creationflags=0, 
                       restore_signals=True,                                              
                       start_new_session=False, pass_fds=(), *, 
                       encoding=None, errors=None)


常用参数:

  • args:shell命令,可以是字符串或者序列类型(如:list,元组)
  • bufsize:缓冲区大小。当创建标准流的管道对象时使用,默认-1。0:不使用缓冲区1:表示行缓冲,仅当universal_newlines=True时可用,也就是文本模式正数:表示缓冲区大小负数:表示使用系统默认的缓冲区大小。
  • stdin, stdout, stderr:分别表示程序的标准输入、输出、错误句柄
  • preexec_fn:只在 Unix 平台下有效,用于指定一个可执行对象(callable object),它将在子进程运行之前被调用
  • shell:如果该参数为 True,将通过操作系统的 shell 执行指定的命令。
  • cwd:用于设置子进程的当前目录。
  • env:用于指定子进程的环境变量。如果 env = None,子进程的环境变量将从父进程中继承。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值