java - Jython sys 模块中缺少函数

标签 java python

我有一个 python 脚本,需要在我的 java 应用程序中运行。我尝试从 jython 执行它,但遇到了奇怪的问题:

from sys import getdlopenflags

我得到:

Traceback (most recent call last): File "<stdin>", line 1, in <module> ImportError: cannot import name getdlopenflags

当我尝试检查 sys 的内容时:

import sys

dir(sys)

输出是:

['JYTHON_DEV_JAR', 'JYTHON_JAR', 'PYTHON_CACHEDIR', 'PYTHON_CACHEDIR_SKIP', 'PYTHON_CONSOLE_ENCODING', '__delattr__', '__dict__', '__displayhook__', '__excepthook__', '__findattr_ex__', '__name__', '__new__', '__rawdir__', '__setattr__', '__stderr__', '__stdin__', '__stdout__', '_getframe', '_jy_interpreter', '_systemRestart', 'add_classdir', 'add_extdir', 'add_package', 'argv', 'builtin_module_names', 'builtins', 'byteorder', 'classDictInit', 'classLoader', 'cleanup', 'copyright', 'currentWorkingDir', 'defaultencoding', 'determinePlatform', 'displayhook', 'doInitialize', 'exc_clear', 'exc_info', 'excepthook', 'exec_prefix', 'executable', 'exit', 'filesystemencoding', 'getBaseProperties', 'getBuiltin', 'getBuiltins', 'getClassLoader', 'getCurrentWorkingDir', 'getDefaultBuiltins', 'getPath', 'getPathLazy', 'getPlatform', 'getWarnoptions', 'getdefaultencoding', 'getfilesystemencoding', 'getrecursionlimit', 'hexversion', 'initialize', 'isPackageCacheEnabled', 'last_traceback', 'last_type', 'last_value', 'maxint', 'maxunicode', 'meta_path', 'minint', 'modules', 'packageManager', 'path', 'path_hooks', 'path_importer_cache', 'platform', 'prefix', 'ps1', 'ps2', 'recursionlimit', 'registerCloser', 'registry', 'setBuiltins', 'setClassLoader', 'setCurrentWorkingDir', 'setPlatform', 'setWarnoptions', 'setprofile', 'setrecursionlimit', 'settrace', 'shadow', 'stderr', 'stdin', 'stdout', 'subversion', 'toString', 'unregisterCloser', 'version', 'version_info', 'warnoptions']

显然 getdlopenflags 丢失了。是否可以在 jython 中使用此函数(我有最新的 - 2.5.2)根据 http://jython.org/docs/library/sys.html 上的文档sys.getdlopenflags 存在。

感谢帮助

最佳答案

文档中显示“可用性:Unix”。 Jython 文档似乎从 CPython 文档中原样复制了该内容。因此该功能仅在 Unix 安装上可用。可能 Jython 根本没有它 - 我不太了解 Java,但由于它被认为是平台无关的,所以它不能支持系统特定的功能。

关于java - Jython sys 模块中缺少函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5604378/

相关文章:

java - 基于 Maven 的代码生成器

java - 如何从通用集合中获取流?

python - 迭代目录中的所有文件并查找和替换文本 - Python

java - 网页的 HTML 和 Jsoup 响应不一样

java - 获取最新的推文并存储它 twitter4j

python - pymc3:具有确定性切换点功能的灾难示例

python - 如何在python中使用 "class"这个词作为参数函数调用

python - 使用 win32 和 python 直接打印时隐藏文本文件的页眉和页脚

java - 通过 Controller 将多个 "random"变量传递给jsp

javascript - Javascript 的 reduce()、map() 和 filter() 在 Python 中的等价物是什么?