java - 如何使用java调用python的二维码?
问题描述
最近想用java调用Python的二维码包,希望用它在终端界面生成二维码。像这样,我想在java中使用它。
qr tomcat
█████████████████████████████
█████████████████████████████
████ ▄▄▄▄▄ █▀ ▄▀██ ▄▄▄▄▄ ████
████ █ █ ██▄▀ ██ █ █ ████
████ █▄▄▄█ █▄ ▀ ▄█ █▄▄▄█ ████
████▄▄▄▄▄▄▄█▄▀ █▄█▄▄▄▄▄▄▄████
████▄▀▄▀▄█▄█▀█▄▀▄▀█▀▄█▀ ▀████
██████▄▄ ▀▄█▀ ▀ ▄ ▀▄█ ▄████
████▄█▄▄█▄▄▄ █▄▄█▄ ██▀▄ ████
████ ▄▄▄▄▄ ██▄▀█▄█▀▀▄▄▄ ████
████ █ █ █▄█ ▀▄▀▄▄ ▀█ ▄████
████ █▄▄▄█ █▄▄ ▀ ▄▄▄▄█▀▄████
████▄▄▄▄▄▄▄█▄▄▄▄█▄▄█▄██▄▄████
█████████████████████████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
但是,想要我运行我的 java 程序,它发生了一个错误。错误消息是:
Traceback(最近一次调用最后):文件“D:\anaconda3\lib\site-packages\qrcode\image\pil.py”,第 6 行,从 PIL 导入图像,ImageDraw 文件“D:\anaconda3\lib\site -packages\PIL\Image.py",第 69 行,来自 . import _imaging as core ImportError: DLL load failed: 找不到指定的模块。
在处理上述异常的过程中,又出现了一个异常:
回溯(最后一次调用):文件“D:\anaconda3\Lib\site-packages\qrcode\console_scripts.py”,第 100 行,在 main() 文件“D:\anaconda3\Lib\site-packages\qrcode\ console_scripts.py”,第 84 行,在 main img = qr.make_image(image_factory=image_factory) 文件“D:\anaconda3\lib\site-packages\qrcode\main.py”,第 289 行,来自 qrcode.image 的 make_image。 pil import PilImage File "D:\anaconda3\lib\site-packages\qrcode\image\pil.py",第 8 行,在 import Image File "D:\anaconda3\Lib\site-packages\PIL\Image.py" ,第 44 行,从 . import ImageMode, TiffTags, UnidentifiedImageError, version , _plugins ImportError: 在没有已知父包的情况下尝试相对导入
而且,这是我的 java 程序,我得到错误流并在控制台中打印它。
package dragon;
import java.io.IOException;
import java.io.InputStream;
import java.nio.charset.Charset;
public class QR {
public static void main(String[] args) {
Runtime runtime = Runtime.getRuntime();
try {
Process process = runtime.exec("qr tomcat");
InputStream input = process.getErrorStream();
int len = 0;
byte[] b = new byte[1024];
while ((len = input.read(b)) != -1) {
System.out.print(new String(b, 0, len, Charset.forName("UTF-8")));
}
input.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
那么,我想知道如何让java程序知道python的模块?
解决方案
推荐阅读
- javascript - 为“未来”时间生成按钮?
- listview - 从 Firestore 数据列表视图中搜索/拟合,颤动
- javascript - 在 JavaScript 中将不带连字符或空格的日期转换为日期
- javascript - 来自 php 的值未正确传递给 javscript 函数
- postgresql - Postgres 时间 00 和 24 小时
- c# - 批量删除datastax c#
- logstash - 使用 Logstash Aggregate Filter 插件处理可能排序或未排序的数据
- r - 将变量传递给 read.fwf 中的宽度参数
- autohotkey - 需要双显示器帮助 [AutoHotkey]
- mysql - mysql查询连接三个表的问题