问题标签 [python]

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 投票
7 回答
39321 浏览

python - 你为 Python 使用了哪些重构工具?

我有一堆要重命名的类。其中一些名称很小,并且该名称在其他类名中重复使用,我不希望更改该名称。其中大部分存在于 Python 代码中,但我们也有一些引用类名的 XML 代码。

简单的搜索和替换只能让我到目前为止。就我而言,我想将 AdminAction 重命名为 AdminActionPlug 并将 AdminActionLogger 重命名为 AdminActionLoggerPlug,因此第一个的搜索和替换也会错误地命中第二个。

有没有人有使用 Python 重构工具的经验?如果他们也可以修复 XML 文档中的类名,则可以加分。

0 投票
3 回答
1089 浏览

python - 在 python 中使用 Web 服务的最佳方式是什么?

我有一个中型应用程序,它作为我无法控制的 .net Web 服务运行,我想在它上面创建一个松散的 pythonic API 以启用简单的脚本编写。

我想知道在 python 中使用 Web 服务的最佳/最实用的解决方案是什么。

编辑:我需要消耗一个复杂的肥皂 WS,我无法控制它。

0 投票
2 回答
25622 浏览

python - 如何在python中创建一个xml文档

这是我的示例代码:

当我运行上面的代码时,我得到了这个:

我想得到:

我只是猜测有一个 innerText 属性,它没有给出编译器错误,但似乎不起作用......我该如何创建一个文本节点?

0 投票
5 回答
10813 浏览

python - 如何使用 Python distutils?

我在 python 中编写了一个快速程序来将 gtk GUI 添加到 cli 程序。我想知道如何使用 distutils 创建安装程序。因为它只是一个命令行应用程序的 GUI 前端,所以它只能在 *nix 中运行,所以我不担心它是跨平台的。

我的主要目标是为 debian/ubuntu 用户创建一个 .deb 包,但我不了解 make/configure 文件。到目前为止,我主要是一名网络开发人员。

编辑:有谁知道一个使用 distutils 的项目,所以我可以看到它在运行,你知道,实际上尝试构建它?

这里有一些有用的链接

  • Ubuntu Python 打包指南

    本指南非常有帮助。我不知道在最初的 gooling 浪潮中我是怎么错过的。它甚至会引导您打包现有的 python 应用程序

  • Ubuntu MOTU 项目

    这是 ubuntu 的官方包维护项目。任何人都可以加入,并且有很多关于创建各种类型的包的教程和信息,其中包括上面的“python 打包指南”。

  • “Python distutils 到 deb?” - Ars Technica 论坛讨论

    根据这个对话,你不能只使用 distutils。它不遵循 debian 打包格式(或类似的格式)。我想这就是你需要 dh_make 的原因,如 Ubuntu Packaging guide 中所示

  • "distutils 的 bdist_deb 命令

    这个有一些有趣的讨论(这也是我找到 ubuntu 指南的方式)关于连接 zip 文件和 shell 脚本以创建某种通用可执行文件(任何带有 python 和 bash 的东西)。奇怪的。让我知道是否有人找到有关此做法的更多信息,因为我从未听说过。

  • deb 格式的描述以及 distutils 如何适应 - python 邮件列表

0 投票
5 回答
652 浏览

python - 安装 Python 以匹配 OS X 10.5 中的目录布局

OS X 10.5 上的默认 Python 安装是 2.5.1,带有 FAT 32 位(Intel 和 PPC)客户端。我想设置 apache 和 mysql 来运行 django。过去,我在 32 位模式下运行 Apache 和 MySQL 以匹配此安装(甚至从 Apache 中剥离 64 位内容以使其工作)。

我想将 Python 升级到 64 位。我很乐意从源代码编译它,但需要注意一点。如何匹配默认安装的布局方式?特别是关于站点包,/Library/Python/2.5/而不是在我编译后埋在框架顶部的站点包。

0 投票
7 回答
43190 浏览

python - 线程在 Python 中是如何工作的,Python 线程特有的常见陷阱是什么?

我一直在试图了解线程在 Python 中是如何工作的,而且很难找到关于它们如何操作的好信息。我可能只是错过了一个链接或其他东西,但似乎官方文档在这个主题上不是很详尽,而且我还没有找到一个好的文章。

据我所知,一次只能运行一个线程,并且活动线程每 10 条左右指令切换一次?

哪里有好的解释,或者你能提供一个吗?了解在 Python 中使用线程时遇到的常见问题也是非常好的。

0 投票
3 回答
2368 浏览

python - GPL 程序的专有插件:解释语言呢?

我正在用 Python 开发一个 GPL 许可的应用程序,需要知道 GPL 是否允许我的程序使用专有插件。这是FSF在这个问题上必须说的:

如果在 GPL 下发布的程序使用插件,插件的许可证有什么要求?

这取决于程序如何调用其插件。如果程序使用fork和exec调用插件,那么插件是独立的程序,所以主程序的license对它们没有要求。

如果程序动态链接插件,它们之间进行函数调用并共享数据结构,我们认为它们形成了一个单独的程序,必须将其视为主程序和插件的扩展。这意味着插件必须在 GPL 或与 GPL 兼容的自由软件许可下发布,并且在分发这些插件时必须遵守 GPL 的条款。

如果程序动态链接插件,但它们之间的通信仅限于通过一些选项调用插件的'main'函数并等待它返回,这是一种边缘情况。

fork/exec 和动态链接之间的区别,除了有点人为之外,并没有延续到解释语言:Python/Perl/Ruby 插件怎么样,它通过importor加载execfile

(编辑:我理解为什么 fork/exec 和动态链接之间的区别,但似乎有人想要遵守 GPL 但违背“精神”——我不——可以只使用 fork/exec 和进程间通信几乎可以做任何事情)。

最好的解决方案是在我的许可证中添加一个例外,以明确允许使用专有插件,但我无法这样做,因为我使用的是 GPL 的Qt / PyQt 。

0 投票
21 回答
370963 浏览

python - 有没有一种简单、优雅的方式来定义单例?

似乎有很多方法可以在 Python中定义单例。对 Stack Overflow 是否有共识?

0 投票
10 回答
35332 浏览

python - 如何使用 django 模板渲染树结构(递归)?

我在内存中有一个树结构,我想使用 Django 模板在 HTML 中呈现。

会有一些对象root是 a Node,并且childrenNodes 的列表。root将在模板的内容中传递。

我发现了这个关于如何实现这一点的讨论,但海报表明这在生产环境中可能并不好。

有人知道更好的方法吗?

0 投票
3 回答
1788 浏览

python - 以编程方式编辑 Python 源代码

这是我认为非常有用的东西。基本上,我希望有一种无需人工干预即可以编程方式编辑 Python 源代码的方法。我想做几件事:

  1. 编辑使用源模块进行配置的 Python 应用程序的配置。

  2. 设置一个“模板”,以便我可以即时自定义 Python 源文件。这样,我可以在我正在开发的开源应用程序上设置一个“项目”系统,并允许自定义某些文件。

我可能自己写一些可以做到这一点的东西,但我可以看到这会引发很多“细节中的魔鬼”类型的问题。目前有什么方法可以做到这一点,还是我只能硬着头皮自己实施?