问题标签 [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.
python - “ImportError: No module named”错误似乎与我的代码无关
我正在尝试完成Learn Python The Hard Way, 2nd Edition 的练习 47,但我在运行时收到此错误:tests/ex47_tests.py
我认为这是我在代码中做错的事情,因为我对此很陌生,所以我从一个似乎已经成功完成练习的 GitHub 用户那里克隆了这个 repo 。
不仅我们代码的相关部分相同,而且当我尝试运行tests/ex47_tests.py
从他那里克隆的代码时,我也会收到相同的错误。所以现在我迷路了,希望有人能为我提供解决方案。有任何想法吗?
python - Python 模块:当导入它们时,它们会进入内存吗?
我刚刚为初学者完成了这个关于在 python 中创建和导入模块的练习。
我想知道模块中的所有内容是否都导入到计算机的内存中?
随着代码变长和导入的模块越来越多,以后是否会对内存产生影响?
因此,我是否需要了解内存管理才能编写资源高效的代码?
python - 如何在 Ubuntu 上安装 Python 模块
我刚刚在 Python 上写了一个函数。然后,我想把它做成模块并安装在我的 Ubuntu 11.04 上。这就是我所做的。
创建 setup.py 以及 function.py 文件。
使用 $Python2.7 setup.py sdist 构建分发文件
然后安装它 $Python2.7 setup.py install
一切顺利。但是,后来我想在我的代码中使用导入它的模块。我收到导入错误:ImportError: No module named '--------'
PS。我在谷歌上搜索并没有找到特定的答案。详细的答案将不胜感激。
python - 重新导入被测模块以丢失上下文
许多 Python 模块在不定义类的情况下保留内部状态,例如,logging
维护多个可通过getLogger()
.
你如何测试这样的模块?
使用标准unittest
工具,我希望类中的各种测试TestCase
重新导入我的被测模块,以便每次它失去其上下文。这可以做到吗?
python - 导入模块时发生的奇怪事情
我讨厌在这个标题下提出这个问题,但我实际上不知道发生了什么,所以就这样吧。
我正在做另一个项目,我想在其中使用日志记录模块。代码分布在几个文件中,而不是为单独的文件创建单独的记录器对象,我想创建一个包含内容的 logs.py
并使用此类(在不同的文件中。)
- 我剥离了整个问题来在这里问这个问题。现在,我有 3 个文件,a.py、b.py 和 main.py。所有 3 个文件都实例化了 logs.Logger 类并打印了一条调试消息。
- a.py & b.py导入“日志”并打印它们的调试消息。
- main.py导入日志,a & b;并打印它自己的调试消息。
文件内容如下:http: //i.imgur.com/XoKVf.png
为什么来自 b.py 的调试消息打印 2 次和来自 main.py 的 3 次?
python - 使用外部定义的函数修改模块全局变量
我有一个非常简单的装饰器函数,用于通过模块的__all__
属性公开模块中定义的函数。因为我将它用于包中的多个模块,所以我在包的__init__.py
.
因为我不能__all__
在定义中使用,因为它会引用__all__
模块__init__.py
(或者更确切地说是包)的,我目前这样做是这样的:
这似乎工作得很好。但是我不确定使用该__global__
属性是否是理想的方法,特别是因为该属性似乎没有记录(至少我在文档中找不到任何关于它的信息)。
是否可以__globals__
正常使用,或者是否有更简单、更强大的方法来完成这项工作?
编辑:
为了澄清起见,我不一定需要访问__all__
模块的属性。我可以轻松地使用不同的名称并最终得到相同的问题。我之所以使用它,是__all__
因为它在模块中保存所有暴露对象的目的符合我的意图。但同时我也可以命名它exposedFunctions
或其他任何东西。所以问题更多的是关于如何访问模块的全局属性。
python - python本地模块
我有几个项目目录,并希望拥有特定于它们的库/模块。例如,我可能有这样的目录结构:
假设有一个调用add
in的函数myfunctions.py
,我可以mycode.py
用最简单的例程调用它:
但要更复杂一点,我也可以
这是最惯用的方法吗?还有一些关于修改PYTHONPATH
(os.environ['PYTHONPATH']
?)的提及,但这是我应该研究的还是其他事情?
此外,我还看到import
了包含在类语句中的语句,在其他情况下,这些语句定义在包含类定义的 Python 文件的顶部。有没有正确/首选的方法来做到这一点?
python - 是否可以通过返回之类的方式结束 python 模块导入?
我想知道是否有一种方法可以编写下面的模块代码,而不必在整个模块代码中添加另一个缩进级别。
我正在寻找这样的东西:
注意,我不想抛出异常,导入应该正常通过。
python - Python:获取导入模块的句柄
我编写了一个应用程序,让用户可以选择指定特定的网络扫描工具(例如 nmap、xprobe、p0f),然后使用该工具扫描给定的子网(我没有重新实现该工具,只需在 shell 中调用它并解析它对我的应用程序的响应),解析结果并以特定格式存储在 DB 中。这个应用程序基本上是另一个应用程序的馈送应用程序,它将使用数据库中的数据。
我编写了我的代码,以便所有扫描工具接口都作为插件实现。结构是
因此,要添加新的扫描界面,开发人员只需编写一个 tool.py 文件(当然语义正确)并将其放入 Plugins 文件夹中。
为此,我需要能够在运行时导入正确的 python 模块。
取决于用户输入的内容
这是我添加的代码
代码正常工作。但是,当我尝试使用PyInstaller(对于 Windows/*Nix 平台)将它捆绑到一个可执行文件中时,它在 find_module 和 load_module 中有很多麻烦,因此我得到一个 ImportError (可能是因为路径没有在可执行文件中正确展开减压)。
我的问题是 - 在 Python 中是否有另一种方法可以使用它来实现相同的功能(可能希望与 PyInstaller 一起工作)?
我之前曾问过这个问题,在 PyInstaller 中寻找解决方法,但没有任何回应迫使我在 Python 中寻找解决方法
python - 如何将 Python 模块拆分为多个文件?
我有一个包含 3 个类的 Python 模块:A、A1 和 A2。A1 和 A2 派生自 A。A 包含对 A1 和 A2 进行操作的函数。
当它在一个 .py 文件中时,这一切都很好。但是该文件已经变得很长,我想将 A1 和 A2 拆分为它们自己的文件。尽管存在循环依赖,如何拆分此文件?