问题标签 [python-module]

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 回答
2770 浏览

python - 如何扩展 h5py 以便我可以访问 hdf5 文件中的数据?

我有一个小的 python 程序,它使用 h5py 模块创建一个 hdf5 文件。我想编写一个 python 模块来处理 hdf5 文件中的数据。我怎么能那样做?

更具体地说,我可以将 numpy 数组设置为 PyArrayObject 并使用 PyArg_ParseTuple 读取它们。这样,我可以在编写 python 模块时从 numpy 数组中读取元素。如何读取 hdf5 文件以便我可以访问单个元素?

更新:感谢以下答案。我需要从 C 而不是从 Python 读取 hdf5 文件-我知道该怎么做。例如:

现在我有一个名为 '\tmp\tmp.h5' 的 hdf5 文件。我需要做的是使用 C(而不是 python)从 hdf5 文件中读取单个数组元素,以便我可以对这些元素做一些事情。显示了如何扩展 numpy 数组。如何扩展hdf5?

编辑:语法

0 投票
8 回答
31854 浏览

python - 如何重新加载使用`from module import *`导入的python模块

我在这个有用的问答中看到了可以使用的reload(whatever_module),或者在 Python 3 中,imp.reload(whatever_module).

我的问题是,如果我说from whatever_module import *要进口怎么办?那我用的时候就没有whatever_module参考了reload()。你们会因为我把整个模块扔进全局命名空间而对我大喊大叫吗?:)

0 投票
2 回答
1922 浏览

python - Python,从 Python/Blender 的发布版本加载调试模块

我一直在为 Blender 编写一个导出脚本,它使用 python 来处理任何插件。由于我的大部分代码库都在 C++ 中,我决定将我的代码包装为一个 python 模块 (pyd),该模块将从导出脚本中导入并传递所有相关位进行转换。

只要我制作发布版本,搅拌机就可以很好地加载模块,我什至可以使用 Visual Studio 进行调试 - 但要解决错误,发布版本不可靠,因此我需要使用模块的调试版本。不幸的是,在这种情况下,模块不会加载。

从 python 控制台:

环顾了一下,我发现错误是找不到另一个 dll,因为我没有加载任何其他内容,所以我添加了 python 的调试版本和我的模块。现在错误不同了:

因此,我将模块初始化名称从“PyInit_exporter”更改为“PyInit_exporter_d”(并删除了调试 pythond.dll,因为它因致命错误而导致搅拌机崩溃)返回第一个错误(dll 加载失败)。

所以,我的问题是,在运行 python 的发布版本时,如何加载 python 模块的调试版本?由于python嵌入在搅拌机中,我想避免下载源代码并重建它。

0 投票
1 回答
125 浏览

python - 帮助 MySQLdb 模块:损坏的安装和连接到远程服务器

我是 Python 新手,在启动和运行 MySQLdb 时遇到了一些基本问题。我希望有人可以帮助我。

当我第一次尝试使用 setup.py 安装模块时,安装程​​序终止,因为它无法找到 mysql_config。这是因为我没有意识到要在本地机器上安装 MySQL 的模块。我只是想连接到远程 MySQL 服务器。

我的问题是双重的:

1)我应该如何在没有安装 MySQL 的机器上使用 MySQLdb,只连接到远程服务器?

2) 如何回滚似乎损坏的 MySQLdb 安装?每当我尝试从脚本导入 MySQLdb 时,我都会收到错误“没有名为 _mysql 的模块”,根据文档,这表明安装错误。

顺便说一句:我在运行 Snow Leopard/Python 2.6.1 的 Mac 上

谢谢!

0 投票
2 回答
4204 浏览

python - 设置 MySQLdb 模块时遇到问题

我在这里拉头发,试图在我的 Mac 上设置 MySQLdb,以便连接到远程 MySQL 服务器。

  1. 我已经安装了最新的 C MySQL 客户端库
  2. 我已经安装了 XCode 4
  3. 在安装 XCode 或客户端库之前,我确实天真地尝试安装模块

我正在尝试通过在终端中运行以下命令来设置模块:

$ sudo python setup.py 构建

$ sudo python setup.py 安装

这两个命令都失败并显示类似的错误消息。这是第一个堆栈跟踪:

这是第二个命令的堆栈跟踪:

我已经在这几天了,它开始让我发疯。任何帮助将不胜感激!

0 投票
1 回答
329 浏览

python-module - 是否有用于文本清理的 python 模块?

我发现自己要处理很多格式不正确的字符串,这些字符串有双空格、制表符、点前的单空格、尾随空格等等。有什么东西可以美化我可以安装和导入的文本吗?例子:

0 投票
3 回答
2222 浏览

python - Python模块变得太大

我的模块都在一个难以维护的大文件中。打破事物的标准方法是什么?

我在一个文件中有一个模块my_module.py,我像这样导入它:

“my_module” 很快就会变成一千行,这正在推动我保持一切正常的能力的极限。我正在考虑添加文件my_module_base.pymy_module_blah.py等等。然后,替换my_module.py

然后,用户代码不需要更改:

这是标准模式吗?

0 投票
1 回答
783 浏览

python - What's the best practice for incorporating third-party libraries in a python program?

Good afternoon.

I am writing a small to medium-sized python program for my job. The task requires me to use the Excel libraries xlwt and xlrd, as well as a library for querying Oracle databases, called cx_Oracle. I am developing the project through a version control system, namely CVS.

I was wondering what is the standard way to organize third-party libraries around a python project. Should the libraries xlwt, xlrd, and cx_Oracle be stored in a directory such as /usr/local/lib/python, which presumably has its place in the PYTHONPATH? Or should the third-party libraries instead be included in the same directory as the source code of the project, effectively "shipped out" with the project, that way the python script is more platform-independent.

I am just looking for best practices since I am coming from Java and am new to Python.

Thanks in advance,
ktm

0 投票
3 回答
209 浏览

python - Python:在单个模块文件中搜索全局类

我有一个module.py看起来像这样的 Python 2.x 文件:

list_class_keywords()中,我循环遍历此文件模块的所有对象并测试该对象是否具有属性KEYWORD。显然它不起作用,因为它name是一个字符串。我应该如何重写list_classes以获得我正在寻找的东西?


更新:感谢 Ignacio 的提示。这是更新的代码:

0 投票
2 回答
4547 浏览

python - 为多个 python 版本安装模块

我已经在同一台机器(Ubuntu 10.0.4)上安装了 python 2.6.6 和 python 2.5.5,因为 2.6 是我的默认版本,而我需要 2.5 来维护旧的东西。但我在将模块(MySQLdb 和 net-snmp)安装到非默认 2.5v 时遇到问题。调用 'sudo apt-get install _module_name_' 时,似乎只更新了 2.6。有没有办法告诉应该安装哪个版本的模块?提前致谢