小编Mai*_*kur的帖子

Python:javabridge虚拟机只能运行一次

我需要使用 bioformats-python 来读取显微镜图像。要使用它,需要一个 Java VM。

我只能使用 java VM 一次,如果我再次执行 python 脚本,则会出现错误。

如果我重新启动spyder内核,该脚本只能再次运行。

我安装了 JDK (8u181) 并设置了路径变量。我使用 Spyder 和 python 3.6。

这是我用来测试 java VM 的代码:

import javabridge

javabridge.start_vm(run_headless=True)
try:
    print(javabridge.run_script('java.lang.String.format("Hello, %s!", greetee);',
                                dict(greetee='world')))
finally:
    javabridge.kill_vm()
Run Code Online (Sandbox Code Playgroud)

我第一次执行时得到了什么:

>>> Hello, world!
Run Code Online (Sandbox Code Playgroud)

这是我尝试第二次运行它时收到的错误消息:

Traceback (most recent call last):
  File "C:\Users\Z820\Miniconda3\envs\py37\lib\site-packages\javabridge\jutil.py", line 281, in start_thread
    env = vm.create(args)
  File "_javabridge.pyx", line 653, in _javabridge.JB_VM.create
RuntimeError: Failed to create Java VM. Return code = -1
Failed to create Java VM
Traceback (most recent call …
Run Code Online (Sandbox Code Playgroud)

python virtual-machine

5
推荐指数
1
解决办法
1806
查看次数

Javascript,crypto.subtle:如何导入RSA私钥?

我使用 python 生成了 RSA 密钥对,我想在 javascript 中导入它。我成功导入了公钥,但在私钥导入方面遇到了困难。

Python :

from Cryptodome.PublicKey import RSA

key = RSA.generate(1024)
private_key = key.export_key().decode("ascii")
public_key = key.publickey().export_key().decode("ascii")
Run Code Online (Sandbox Code Playgroud)

JavaScript:

function str2ab(str) {
  const buf = new ArrayBuffer(str.length);
  const bufView = new Uint8Array(buf);
  for (let i = 0, strLen = str.length; i < strLen; i++) {
    bufView[i] = str.charCodeAt(i);
  }
  return buf;
}

async function importRsaPublicKey(pem) {
  // fetch the part of the PEM string between header and footer
  const pemHeader = "-----BEGIN PUBLIC KEY-----";
  const pemFooter …
Run Code Online (Sandbox Code Playgroud)

javascript rsa python-3.x

1
推荐指数
1
解决办法
4306
查看次数

标签 统计

javascript ×1

python ×1

python-3.x ×1

rsa ×1

virtual-machine ×1