python-import相关内容
我知道有很多类似或相同的问题,但我仍然无法理解/找到适合我使用模块的正确方法.Python 是我最喜欢的语言,除了使用导入之外,我喜欢其中的所有内容:递归导入(当您尝试引用尚不存在的名称时)、导入路径等. 所以,我有这样的项目结构: my_project/包1/__init__.py模块1模块2包2/__init__.py模块1模块2 Package1 可用作独立单元,但也应由 pack
..
编辑:根据 Ulf Rompe 的评论,使用“1"而不是“0"很重要,否则会破坏 sys.path. 我使用 python 已经有一段时间了(一年多了),我总是很困惑为什么人们推荐你使用 sys.path.append() 而不是 sys.path.insert().让我演示一下. 假设我正在开发一个名为 PyWorkbooks 的模块(安装在我的计算机上),但我同时在开发一个包含 P
..
我有以下包(和工作目录): 工作目录--|--我的包裹--||--__init__.py||--module1.py||--module2.py||--notebook.ipynb 在 __init__.py 我有: 导入模块1导入模块2 如果我尝试将 MyPackage 导入我的笔记本: 将 MyPackage 导入为 mp 我会收到ModuleNotFoundError: No m
..
我使用以下代码构建了一个应用引擎项目,以将数据从谷歌云存储桶移动到 bigquery 表中 导入 argparse导入时间导入 uuid从 google.cloud 导入 bigquerydef load_data_from_gcs(dataset_name, table_name, source):bigquery_client = bigquery.Client()数据集 = bigquer
..
在我的应用程序中,我使用包 example 中的模块,称为 examplemod. 我的应用: from example import examplemod示例mod.do_stuff() 它像这样在 example 中导入另一个模块. examplemod.py: 来自示例导入配置# 使用配置# 然后做事 config 使用常量. config.py: CONSTAN
..
在 Python 中使用相对导入有一个缺点,你将无法再将模块作为独立运行,因为你会得到一个异常:ValueError: Attempted relative import in non-package #/test.py: 只是一个导入 foo 模块的示例文件进口富...#/foo/foo.py:从 .进口酒吧...如果 __name__ == "__main__":经过#/foo/bar.py
..
我只需要从另一个运行其中内容的 python 文件中导入一个函数,但是当我导入该函数时,它会运行整个代码,而不是只导入我想要的函数.有没有办法只从另一个 .py 文件中导入一个函数而不运行整个代码? 解决方案 在 another.py 中,将不想运行的代码移到只在脚本运行时运行的块中显式调用运行而不仅仅是导入 def my_func(x):返回 x如果 __name__ == '__ma
..
我正在尝试从控制台运行一个模块.我的目录结构是这样的: 我正在尝试从 problem_set_02 目录运行模块 p_03_using_bisection_search.py,使用: $ python3 p_03_using_bisection_search.py p_03_using_bisection_search.py里面的代码是: __author__ = 'm'从 .
..
作为序言,我想我可能已经想出了如何让这段代码工作(基于 导入后更改模块变量),但我的问题实际上是关于为什么会发生以下行为,以便我了解将来不应该做什么. 我有三个文件.第一个是 mod1.py: # mod1.py导入 mod2var1A = 无def func1A():全局变量 1var1 = 'A'mod2.func2()def func1B():全局变量 1打印变量 1如果 __nam
..
有没有一种直接的方法可以找到属于 python 包的所有模块?我找到了这个旧讨论,其中并不是真正的决定性的,但在我推出基于 os.listdir() 的我自己的解决方案之前,我很想有一个明确的答案. 解决方案 是的,你想要基于 pkgutil 或类似的东西——这样你就可以一视同仁地对待所有包,无论它们是否在鸡蛋中或 zips 左右(其中 os.listdir 无济于事). import
..
我想从位于当前目录上方目录中的文件中的类继承. 是否可以相对导入该文件? 解决方案 from ..subpkg2 import mod 根据 Python 文档:在包层次结构中,使用两个点,作为 import 语句 doc 说: 在指定要导入的模块时,您不必指定模块的绝对名称.当一个模块或包包含在另一个包中时,可以在同一个顶级包中进行相对导入,而无需提及包名称.通过在fr
..
我正在构建一个 Python 程序,它可以以两种方式之一运行:第一种是调用“python main.py",它以友好的方式提示用户输入,然后通过运行用户输入该程序.另一种方法是调用“python batch.py -file-",它将传递所有友好的输入收集并一次性通过程序运行整个文件的输入. 问题是,当我运行“batch.py"时,它会从“main.py"中导入一些变量/方法/等,当
..
我有以下项目结构 示例项目电脑Python例子来源实用程序配置管理器配置文件常量.cfg 如何从 ConfigManager.py 访问 constants.cfg. 我有一个限制 我无法给出 constants.cfg 的完整路径(绝对路径),因为如果我在不同的 PC 上运行它应该无需任何修改即可工作 此外,如果我代表以下内容,我可以访问该文件.但我不想每次都给回斜线 f
..
总结 我正在为 Anki(一个开源抽认卡程序)开发一系列附加组件.Anki 附加组件作为 Python 包提供,基本文件夹结构如下所示: anki_addons/插件名称_1/__init__.py插件名称_2/__init__.py anki_addons 由基础应用附加到 sys.path,然后使用 import 导入每个 add_on. 我一直试图解决的问题是找到一种可靠的方法来
..
在 Python 中使用 IPython 开发大型项目(拆分为多个文件和文件夹)时,我遇到了缓存导入模块的麻烦. 问题是指令import module 只读取该模块一次,即使该模块已更改!因此,每次我更改包中的某些内容时,我都必须退出并重新启动 IPython.痛苦. 有什么方法可以正确强制重新加载某些模块?或者,更好的是,以某种方式阻止 Python 缓存它们? 我尝试了几种方
..
我想知道代码片段之间是否有任何区别 来自 urllib 导入请求 和片段 import urllib.request 或者如果它们可以互换.如果它们是可互换的,那么这就是“标准"/“首选".语法(如果有的话)? 解决方案 这取决于您在引用时希望如何访问导入. 来自 urllib 导入请求# 直接访问请求.我的 = 请求()导入 urllib.request# 用作 urllib.
..
假设我有一个包含以下内容的模块: def main():经过如果 __name__ == "__main__":主要的() 我想为下半部分编写一个单元测试(我想达到 100% 的覆盖率).我发现了执行 import/__name__ 设置机制的 runpy 内置模块,但我不知道如何模拟或以其他方式检查 main() 函数被调用. 这是我迄今为止尝试过的: 导入runpy进口模拟@moc
..
我是 Python 编程的新手,我试图用分隔符和结尾打印出来,但它仍然给我一个语法错误. 我使用的是 python 2.7. 这是我的代码: from __future__ import print_function导入系统、操作系统、时间对于范围内的 x(0,10):打印 x, sep='', end=''时间.sleep(1) 这里是错误: $ python2 xy.py文件
..
我遇到了在 __init__.py 中导入并在包的模块中使用 import as 和绝对导入的问题. 我的项目有一个子包,在它的 __init__.py 中我“提升"了使用 from import as 语句从模块到子包级别的类之一.该模块使用绝对导入从该子包中导入其他模块.我收到此错误 AttributeError: 'module' object has no attribute 'su
..
我正在尝试遵循 PEP 328,使用以下目录结构: pkg/__init__.py成分/核心文件__init__.py测试/core_test.py__init__.py 在 core_test.py 我有以下导入语句 from ..components.core import GameLoopEvents 但是,当我运行时,出现以下错误: tests$ python core_test
..