问题标签 [jython]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1036 浏览

python - 使用 jython 和 open office 2.4 将文档转换为 pdf

我使用 pyuno 完成了一个 python 脚本,它成功地将文档/xls/rtf 等转换为 pdf。然后我需要更新一个 mssql 数据库,因为 open office 目前支持 python 2.3,它很古老,缺乏对体面的数据库库的支持。所以我求助于使用 Jython,这样我就不会因为使用旧的 pyuno 在 OO python 环境中运行而感到负担。

这也意味着我的转换代码被破坏了,我现在需要使用 java 库而不是 pyuno 库。

导入 com.sun.star.beans.PropertyValue 作为 PropertyValue
导入 com.sun.star.bridge.XUnoUrlResolver 作为 XUnoUrlResolver
导入 com.sun.star.comp.helper.Bootstrap 作为 Bootstrap
->> 导入 com.sun.star.frame。 XComponentLoader as XComponentLoader
->> import com.sun.star.frame.XStorable as XStorable
import com.sun.star.lang.XMultiComponentFactory as XMultiComponentFactory
import com.sun.star.uno.UnoRuntime as UnoRuntime
import com.sun.star.uno .XComponentContext 作为 XComponentContext

带有“->>”的包含不导入编译器无法识别 com.sun.star.frame 看不到“框架”位。这些是我包含的库。

替代文字 http://www.freeimagehosting.net/uploads/eda5cda76d.jpg

关于这个问题的一些建议会很受欢迎

上下文 = XComponentContext
xMultiCompFactory = XMultiComponentFactory
xcomponentloader = XComponentLoader

//在python中使用
ctx = None
smgr = None
doc = None
url = None

context = Bootstrap.bootstrap()
xMultiCompFactory = self.context.getServiceManager()
xcomponentloader = UnoRuntime.queryInterface(XComponentLoader.class, ....xMultiCompFactory.createInstanceWithContext("com.sun.star.frame.Desktop", context))

file = "file:\\" + file
// 也相当于 url = uno.systemPathToFileUrl(file) 在 Java 中,这样我就可以利用它来很好地格式化我的路径
properties = []
p = PropertyValue()
p.Name = "Hidden"
p.Value = True
properties.append(p)
properties = tuple(properties)
doc = xcomponentloader.loadComponentFromURL(file, "_blank",0, properties)

0 投票
6 回答
10712 浏览

python - 如何判断字符串是否为base64

我有很多来自不同来源的电子邮件。他们都有附件,其中许多都有中文的附件名称,因此这些名称被他们的电子邮件客户端转换为base64。

当我收到这些电子邮件时,我希望解码名称。但还有其他名称不是 base64。如何使用jython编程语言区分字符串是否为 base64?

IE。

第一个附件:

第二个附件:

请注意“ Content-Transfer-Encoding ”都有 base64

0 投票
5 回答
3141 浏览

python - 字典或 If 语句,Jython

我现在正在编写一个脚本,它将使用 dom4j 从 HTML 中获取某些信息。

由于 Python/Jython 没有本机switch语句,我决定使用一大堆调用适当方法的if语句,如下所示:

我将根据我想从 HTML 中提取的信息添加更多内容,并考虑采用我在本网站其他地方找到的字典方法,示例如下:

我知道每次运行脚本时都会构建字典,但与此同时,如果我要使用if语句,脚本必须检查所有这些语句,直到找到正确的语句。我真正想知道的是,哪一个表现更好或通常是更好的做法?

更新: @Brian - 感谢您的精彩回复。我有一个问题,如果任何提取方法需要多个对象,例如

您将如何对handle方法进行适当的更改来实现这一点?希望你知道我的意思:)

干杯

0 投票
2 回答
3580 浏览

python - 来自 jython 中已解析电子邮件对象的电子邮件正文

我有一个对象。

self.currentEmailParsedInstance,从这个对象我想得到一封电子邮件的正文,只有文本没有 HTML....

我该怎么做?


像这样的东西?

然后从正文中剥离 html。那是什么......返回实际文本的方法......也许我误解了你

输出=输入“列表”


电子邮件

返回路径:
接收:来自 xx.xx.net(示例),由 mxx3.xx.net (xxx)
id 485EF65F08EDX5E12 for xxx@xx.com;2008 年 10 月 23 日星期四 06:07:51 +0200
收到:来自 xxxxx2 (ccc) by example.net (ccc)(身份验证为 xxxx.xxx@example.com)id 48798D4001146189 for example.example@example-example.com;2008 年 10 月 23 日星期四 06:07:51 +0200
发件人:“示例”
收件人:
主题:FW:示例 日期:2008 年 10 月 23 日星期四 12:07:45 +0800
组织:示例 邮件 ID:<001601c934c4$xxxx30$ a9ff460a@xxx>
MIME 版本:1.0
内容类型:多部分/混合;
boundary="----=_NextPart_000_0017_01C93507.F6F64E30"
X-Mailer:Microsoft Office Outlook 11
X-MimeOLE:由 Microsoft MimeOLE V6.00.2900.3138 生产
线程索引:Ack0wLaumqgZo1oXSBuIpUCEg/wfOAABAFEA

这是 MIME 格式的多部分消息。

------=_NextPart_000_0017_01C93507.F6F64E30
内容类型:多部分/替代;
边界="----=_NextPart_001_0018_01C93507.F6F64E30"

------=_NextPart_001_0018_01C93507.F6F64E30
内容类型:文本/纯文本;
charset="us-ascii"
内容传输编码:7bit

发件人:example.example[mailto:example@example.com]
发送时间:2008 年 10 月 23 日星期四上午 11:37
收件人:xxxx@example.com
主题:S/I 例如(提单号:
4357-0120 -810.044)

请找到附加的example.doc),

谢谢。

B.rgds,

xxxxxx

------=_NextPart_001_0018_01C93507.F6F64E30
内容类型:文本/html;
charset="us-ascii"
内容传输编码:quoted-printable

xmlns:o=3D"urn:schemas-microsoft-com:office:office" =
xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:st1=3D"urn:schemas-microsoft- com:office:smarttags" =
xmlns=3D" http://www.w3.org/TR/REC-html40 ">

HTML STUFF 直到

------=_NextPart_001_0018_01C93507.F6F64E30--

------=_NextPart_000_0017_01C93507.F6F64E30
内容类型:应用程序/msword;
name="xxxx.doc"
内容传输编码:base64
内容处置:附件;
文件名="xxxx.doc"

0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAAAPgADAP7/CQAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAYgAAAAEAAAD+////AAAAAF8AAAD///////////////////////////////////// //// ////////////////////////////////////// //////////////////////////////////////////////////////// ///////////////////////////////////////// ////// //////////////////////////////////// ///////////////////////////////////////// ///////////////////////////////////////// ////////////////////////////////////////// ///////////////////////////////////////// ///////////////////////////////////////// ////////////////////////////////////////// ///////////////////////////////////小号pcEAI2AJBAAA + FK / AAAAAAAAEAAAAAAABgAAnEIAAA4AYmpiaqEVoRUAAAAAAAAAAAAAAAAAAAAA AAAECBYAMlAAAMN / AADDfwAAQQ4AAAAAAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD // w8AAAAA AAAAAAD // w8AAAAAAAAAAAD // w8AAAAAAAAAAAAAAAAAAAAAAKQAAAAAAEYEAAAAAAAARgQAAEYE AAAAAAAARgQAAAAAAABGBAAAAAAAAEYEAAAAAAAARgQAABQAAAAAAAAAAAAAAFoEAAAAAAAA4hsA AAAAAADiGwAAAAAAAOIbAAA4AAAAGhwAAHwAAACWHAAARAAAAFoEAAAAAAAABzcAAEgBAADmHAAA FgAAAPwcAAAAAAAA / BwAAAAAAAD8HAAAAAAAAPwcAAAAAAAA / BwAAAAAAAD8HAAAAAAAAPwcAAAA AAAAMjYAAAIAAAA0NgAAAAAAADQ2AAAAAAAANDYAAAAAAAA0NgAAAAAAADQ2AAAAAAAANDYAACQA AABPOAAAaAIAALc6AACOAAAAWDYAAGkAAAAAAAAAAAAAAAAAAAAAAAAARgQAAAAAAABHLAAAAAAA AAAAAAAAAAAAAAAAAAAAAAD8HAAAAAAAAPwcAAAAAAAARywAAAAAAABHLAAAAAAAAFg2AAAAAAAAAAAAAAA0NgAAAAAAADQ2AAAAAAAANDYAACQA AABPOAAAaAAAAALc6AACAAAAAWDYAAGkAAAAAAAAAAAAAAAAAAAAAAAAAAAARgQAAAAAAABHLAAAAAAA AAAAAAAAAAAAAAAAAAAAD8HAAAAAAAAPwcAAAAAAAArywAAAAAAABHLAAAAAAAAFg2AAAAAAAAAAAAAA0NgAAAAAAADQ2AAAAAAAANDYAACQA AABPOAAAaAAAAALc6AACAAAAAWDYAAGkAAAAAAAAAAAAAAAAAAAAAAAAAAAARgQAAAAAAABHLAAAAAAA AAAAAAAAAAAAAAAAAAAAD8HAAAAAAAAPwcAAAAAAAArywAAAAAAABHLAAAAAAAAFg2AAAAAAA

------=_NextPart_000_0017_01C93507.F6F64E30--


我只想得到:

发件人:xxxx.xxxx [mailto:xxxx@example.com]
发送时间:2008 年 10 月 23 日星期四上午 11:37
收件人:xxxx@example.com
主题:xxxx 的 S/I(提单编号:
4357-0120 -810.044)

请查找附件 xxxx.doc),

谢谢。

B.rgds,

xxxxxx


不确定邮件是否格式错误!似乎如果你得到一个 html 页面,你必须这样做:

非常感谢文科。

所以它有点像处理xml,本质上是递归的。

0 投票
5 回答
14101 浏览

groovy - Groovy 相对于 Jython 或 Jruby 的优势?

当我可以使用 Jython 或 Jruby 时,为什么还要选择使用 Groovy?该语言是否提供任何固有优势来弥补 Jython 和 Jruby 技能适用于 JVM 之外的母语这一事实?

请记住,我故意让这个问题保持通用性,但如果在特定领域存在任何优势,请毫不犹豫地描述它们。

编辑
澄清一下,如果我在 Jruby 中编写一些代码,我现在可以在某些情况下,如果需要,将代码移到 JVM 之外,或者至少我对 Ruby 有了更好的理解。而 Groovy 技能仅在使用仅存在于 JVM 中的语言时才适用。Jython 和 Jruby 有这个内置的优势,Groovy 必须用什么来弥补这个劣势?

如果 Groovy 没有您发现的任何优势,并且您建议只使用 Jython 或 Jruby,请告诉我。

编辑 2
感谢大家的所有答案,他们中的大多数人都提出了相同的观点,Groovy 与 Java 的集成略好于 Jython 或 Jruby。

跟进
使用 Netbeans 6.5 作为我的 IDE 我发现 Groovy 与 Java 项目的集成比 Jruby 更好。我不确定缺乏集成是否是 Jruby 或 Netbeans 的失败。但是在将它用于一点 Groovy 之后,肯定似乎有了优势。

0 投票
2 回答
255 浏览

java - python (jython) 归档库

是否有一个简洁的归档库可以自动为您处理归档文件夹或目录?我正在使用 Jython,所以 Java 库也可以使用。-UPDATE- 我也在寻找时间戳归档。IE

存档目录/2008/11/16/zipfilebypreference.zip

然后第二天再次调用它,它会创建另一个文件夹。我确定互联网上有一些东西,谁知道?

0 投票
2 回答
2810 浏览

java - loadComponentFromURL 摔死了,怎么做心肺复苏术?

好吧,我测试了我的 jython 程序,它做了一些简洁的 [".xls"、".doc"、".rtf"、".tif"、".tiff"、".pdf" 文件] -> pdf(中间文件) -> 使用 Open Office 进行 tif(最终输出)转换。由于自动化方面的问题,我们离开了 MS Office。现在看来,我们已经击倒了许多与显示塞子错误相关的瓶子,只剩下一瓶。OO 会在一段时间后挂起。

它发生在你在代码中看到这一行 '<<<<<<<<<<<'

什么是我处理停滞不前的 Open Office 流程的正确方法。您能否提供有用的链接,并在出路时给我一个好的建议。
还有一个问题。

总结:
* 如何处理停滞的 Open Office 实例?
* 如何使用 java headless 进行转换,所以我不会一直弹出 GUI 浪费内存。
* 任何关于代码质量、优化和通用编码标准的一般性建议也将不胜感激。


Traceback(最里面的最后一个):
文件“dcmail.py”,第 184 行,在?
文件“dcmail.py”,第 174 行,主
文件“C:\DCMail\digestemails.py”,第 126 行,process_inbox
文件“C:\DCMail\digestemails.py”,第 258 行,_convert
文件“C: \DCMail\digestemails.py",第 284 行,在 _choose_conversion_type
文件中 "C:\DCMail\digestemails.py",第 287 行,在 _open_office_convert
文件中 "C:\DCMail\digestemails.py",第 299 行,在 _load_attachment_to_convert
com.sun .star.lang.DisposedException:
com.sun.star.lib.uno.bridges.java_remote.java_remote_bridge$MessageDi spatcher.run(java_remote_bridge.java:176)处的 java.io.EOFException

com.sun.star.lang.DisposedException: com.sun.star.lang.DisposedException: java.i o.EOFException

只是为了清除此异常仅在我终止打开的办公室进程时引发。否则程序只是等待开放办公室完成。无限期


代码(带有非功能代码标签)

[代码]

[/代码]

0 投票
3 回答
2115 浏览

java - 帮我将使用字节的 Java 代码翻译成 jython 代码

如何将此代码翻译成 jython?

这就是我所拥有的,但失败得很厉害

有关信息,请参阅此页面https://www.acm.org/crossroads/xrds6-3/ovp63.html

0 投票
6 回答
17701 浏览

python - Python 中的现代、高性能布隆过滤器?

我正在寻找一个生产质量的 Python 布隆过滤器实现来处理相当多的项目(比如 100M 到 1B 个项目,误报率为 0.01%)。

Pybloom是一种选择,但它似乎正在显示它的年龄,因为它定期在 Python 2.5 上引发 DeprecationWarning 错误。Joe Gregorio 也有一个实现

要求是快速查找性能和稳定性。我也愿意为特别好的 c/c++ 实现创建 Python 接口,如果有一个好的 Java 实现,甚至可以创建 Jython。

缺乏这一点,关于可以处理 ~16E9 位的位数组/位向量表示的任何建议?

0 投票
4 回答
3098 浏览

python - 在 Jython 上开发 Django 有问题吗?

的背景

我正在和朋友一起构建一个相当大的 Web 应用程序,我们决定在 Python 上使用 Django 框架。Django 为我们提供了很多我们需要的特性,所以请不要推荐替代框架。

我唯一遇到问题的决定是我们是使用 Python 还是 Jython 来开发我们的应用程序。现在我对 Java 非常熟悉,并且可能会从 JDK 中的库中受益。我知道的 Python 最少,但我利用这个项目作为学习新语言的机会——所以大部分工作将用 Python 编写。

Jython 的吸引力当然在于 JVM。启用 python/django 的 web 主机的数量非常少——而我假设我可以将 jython/django 应用程序放在各种各样的主机上。这不是一个重大的设计决定,但我认为仍然需要做出决定。对于 jvm 的可访问性,我真的更喜欢 jython 而不是 python。

问题

与常规 python 相比,Jython 有很多限制吗?在 jython 上运行 django 会导致问题吗?Jython 团队与 Python 一起发布更新的速度有多快?Django 会像在 Jython 上宣传的那样工作(具有非常少的预配置)吗?

决定

感谢您的有用评论。我想我要做的是在 Jython 中开发 JVM 支持——但尝试只使用 Python 代码/库。可移植性不是主要问题,所以如果我需要 JDK 中的库(在 python 中不容易获得),我会使用它。只要 Django 得到完全支持,我就很高兴。