我决定我真的不喜欢微软和他们的方式.能不能请您给我如何在邮件处理winmail.dat的方向,有一个Jython库或一个Java库,让我来处理这个问题.
香港专业教育学院刚刚完成了邮件处理程序,Jython编写的2.2.1上的Java 5.在最后的负载测试,我意识到,本来应该在一个标准的MIME电子邮件格式的附件在一些国家正现在很忙轰出winmail.dat的,这意味着许多不同的Outlook客户端使用此winmail.dat污染互联网,这意味着我需要支持winmail.dat.因此,我的程序无法正确处理数据.
请你简单介绍一下winmail.dat是什么以及为什么它会让我们烦恼.
还有什么惊喜可以预料到!?还有什么我需要注意的,到目前为止,标准的MIME电子邮件都可以满足.盒子里还有其他插孔吗?
非常感谢你的时间.
例如,我遇到了害怕Rails应用程序死亡的开发人员和架构师,但他喜欢编写新的Grails应用程序的想法.
从我所看到的,使用JVM来支持Groovy,JRuby和Jython等语言而不是直接的Ruby或Python有很多资源开销.
Ruby和Python都可以在任何操作系统上进行解释,因此我没有看到任何"一次写入运行"的优势......为什么要将笨重的JVM与你一起带来?
我很确定python脚本可以在所有三个中运行,但我想确定.我已经在这里和那里阅读过可以编写CPython,Jython,IronPython的编辑,我希望我能够深入了解这一区别.
我的情况是我有3种不同的api,我想测试.每个api执行相同的功能代码,但它们在实现上是不同的.我正在为每种语言的api编写包装器.每个包装器都应该使用Boost :: python,Jython和IronPython向python公开完全相同的功能和实现.
我的问题是,使用这些公开的方法编写的python脚本(每种语言都很常见)是否适用于Python的所有三种"风格"?
就像我说的那样,我很确定答案是'当然',但我需要确保在花费太多时间进行研究之前.
我正在开发一个散布一堆jython和java代码的应用程序.由于程序的性质(使用wsadmin),我们实际上仅限于Python 2.1
我们目前有一个包含java源和.py模块的jar.该代码目前使用java调用,但我想删除它,以支持尽可能多的功能迁移到jython.
我遇到的问题是我想从调用jython脚本导入或执行现有jar文件中的python模块.我尝试了几种不同的方法但没有成功.
我的目录结构如下:
application.jar
|-- com
|--example
|-- action
|-- MyAction.class
|-- pre_myAction.py
Run Code Online (Sandbox Code Playgroud)
我试过的第一种方法是从罐子里进口.我将jar添加到我的sys.path并尝试使用import com.example.action.myAction 导入模块并导入myAction.但是,即使我将init .py文件放入每个级别的目录中也没有成功.
我尝试的第二种方法是使用java类加载资源.所以我写了下面的代码:
import sys
import os
import com.example.action.MyAction as MyAction
scriptName = str(MyAction.getResource('/com/example/action/myAction.py'))
scriptStr = MyAction.getResourceAsStream('/com/example/action/myAction.py')
try:
print execfile(scriptStr)
except:
print "failed 1"
try:
print execfile(scriptName)
except:
print "failed 2"
Run Code Online (Sandbox Code Playgroud)
这两个都失败了.关于我该如何继续,我现在有点不知所措.有任何想法吗 ?
干杯,
特雷弗
我有一个Django应用程序,我们正在尝试使用django-jython部署到Tomcat服务器.
为了测试一下,我已成功为一个空的Django应用程序创建了WAR存档文件.测试Django应用程序称为"主席".
我们的Tomcat服务器显然不喜欢WAR归档文件,所以我爆炸(解压缩),并将这些文件复制到服务器.
网络服务器管理员为我创建了一个上下文,以及该上下文的目录(mediatracking).
我已将WAR存档中的文件复制到该目录中,我不太确定如何让该测试应用程序"运行"?
\mediatracking
- application.py
- application$py.class
\WEB-INF
web.xml
\lib
- jruby-extras-fileservlet.jar
- jython.jar
\lib-python
- Lib.pth
- README
\chair
\django
\doj
\Lib
Run Code Online (Sandbox Code Playgroud)
(我没有低于chair/django/doj/Lib目录中的那个.)
上面的目录结构中是否有任何明显的缺失?
我究竟如何让Tomcat服务器真正"运行"这个应用程序?如果你去上下文目录它不会自动运行(并且那里只有一个application.py和application $ py.class文件,所以我不确定它会如何).
我是否需要让我的网络服务器管理员对web.xml文件执行某些操作?我检查了一下,似乎没有任何东西可以帮助这个应用程序运行:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<display-name>chair</display-name>
<description>
chair through WSGI with modjy
</description>
<context-param>
<param-name>files.prefix</param-name> <!-- Needed by fileservlet -->
<param-value></param-value>
</context-param>
<servlet>
<servlet-name>modjy</servlet-name>
<servlet-class>com.xhaus.modjy.ModjyJServlet</servlet-class>
<init-param>
<param-name>reload_on_mod</param-name>
<param-value>1</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
<servlet-name>fileservlet</servlet-name>
<servlet-class>org.jruby.webapp.FileServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>fileservlet</servlet-name>
<url-pattern>/media/*</url-pattern>
</servlet-mapping> …Run Code Online (Sandbox Code Playgroud) 我正在使用Java编写的库来处理几个Jython项目.由于autodoc扩展,我想用Sphinx创建一些好的文档.但是当我尝试创建html时,我得到错误,因为autodoc找不到用Java编写的库:
sphinx-build -b html -d _build/doctrees . _build/html
Running Sphinx v1.0.5
loading pickled environment... done
building [html]: targets for 1 source files that are out of date
updating environment: 0 added, 1 changed, 0 removed
reading sources... [100%] index
/Users/myName/myJythonProject/doc/index.rst:14: (WARNING/2)
autodoc can't import/find module 'myJythonProject', it reported error:
"global name 'PoolManager' is not defined",
please check your spelling and sys.path
Run Code Online (Sandbox Code Playgroud)
其中PoolManager是Java类.
任何人都可以帮我解决这个问题吗?
我在jython的java库中调用一个函数,它打印到stdout.我想从jython脚本中抑制此输出.我尝试使用像object(StringIO)这样的文件替换sys.stdout的python习惯用法,但这不会捕获java库的输出.我猜测sys.stdout不会影响java程序.在jython中是否有以编程方式重定向或抑制此输出的标准约定?如果不是我能以什
我已将变量设置为JYTHON_HOME我已安装Jython的目录和JYTHON_PATHbin文件夹,但是当我尝试运行jython时仍然出现以下错误:
'jython' is not recognized as an internal or external command,
operable program or batch file.
Run Code Online (Sandbox Code Playgroud)
为什么我会收到此错误?Java安装没有问题.
在jython中,我有一类像这样定义的对象:
class Item:
def __init__(self, pid, aisle, bay, hits, qtyPerOrder):
self.pid = pid
self.aisle = int(aisle)
self.bay = bay
self.hits = int(hits)
self.qtyPerOrder = int(qtyPerOrder)
Run Code Online (Sandbox Code Playgroud)
我创建了一个名为"list"的类列表,该类列表中的项目有4000~行,如下所示:
'PO78141', 13, ' B ', 40
Run Code Online (Sandbox Code Playgroud)
我试图随机选择一个范围为3和20的数字,称为x.然后,代码将在列表中选择x行.
例如:如果x = 5,我希望它返回:
'PO78141', 13, ' B ', 40
'MA14338', 13, ' B ', 40
'GO05143', 13, ' C ', 40
'SE162004', 13, ' F ', 40
'WA15001', 13, ' F ', 40
Run Code Online (Sandbox Code Playgroud)
编辑 好吧,这似乎工作.但是,它将返回此< main .Item对象0x029990D0>.我如何让它以上述格式返回?
我有一个关于将json放入我的jython脚本的问题.这是我的情景:
因此,有了这些限制,我想在我的笔记本电脑上使用字典对象,将其转换为json,将其传递给托管的jython应用程序,然后使用本机jython或java工具将其转换回该字典对象,以便我可以继续工作在我托管在云端的脚本中.
我已经知道如何在"常规" python中执行此操作.这很简单.导入json并疯狂.但我的java功夫很弱,我以前从未在jython工作过.
所以我试图弄清楚这是否可以使用jython底层的java可靠而轻松地做到这一点,或者如果我最好使用像ast这样的东西,只需将字典作为字符串文字发送.我真的更喜欢坚持使用json,因为人们喜欢json的所有正常原因,所以任何帮助利用java库来完成这项工作将不胜感激.