python-import相关内容
我正在使用具有多个模块(一个文件夹、多个文件)的单个导入包制作一个Python分发包。包具有在模块中导入的依赖项。当用户从导入包中导入模块时,他们还可以访问在函数外部导入的依赖项。我已经找到了解决办法,但我不确定这是不是一个好主意。 模块joke.py的选项A from markdown import markdown def joke(): return markdown(
..
如果我在一个函数(局部作用域)内导入了Python3中的一个模块,那么导入的内容会是该函数的本地对象吗? 喜欢 def test(): import math s = math.cos(1) s = math.cos(1) 推荐答案 是,模块将是函数的本地模块,至少在上面的示例中是这样(我使用的是Python3.6)。 示例: Python 3.6
..
谁能解释一下如何使下面的示例工作?由于类中的几个函数将使用来自Platform的相同函数,我认为直接将其导入到类中会更好,但我不知道如何在函数中使用它(因为我经常收到有关它的错误)。 #!/usr/bin/python class test: from platform import system is_linux(self): system = system()
..
我知道import *不好,但有时当我懒得打字或记不住导入时,我会使用它进行快速原型制作 我正在尝试以下代码: from OpenGL.GL import * shaders.doSomething() 它会导致错误:`NameError:未定义全局名称‘shaders’‘ 如果我更改导入: from OpenGL.GL import * from OpenGL.GL
..
使用python2.6.5,我可以在不调用from __future__ import with_statement的情况下使用with语句。如果不专门从__future__导入,如何才能知道哪个版本的Python支持with? 推荐答案 __future__功能是自我记录的。试试这个: >>> from __future__ import with_statement >>>
..
如前所述here,我们可以使用字符串变量动态导入模块。 import importlib importlib.import_module('os.path') 我的问题是如何import *从字符串变量? 像这样的东西现在不起作用 importlib.import_module('os.path.*') 推荐答案 您可以执行以下操作: >>> import i
..
我导入了许多不同的脚本,所以在我的文件顶部,它被导入语句弄得乱七八糟,即: from somewhere.fileA import ... from somewhere.fileB import ... from somewhere.fileC import ... ... 有没有办法将所有这些文件移动到其他地方,然后我所要做的就是导入该文件,这样它就只是一个干净的导入? 推荐答案
..
我有一个类似的“规范的文件结构”(为了便于阅读,我给出了合理的名称): mainpack/ __main__.py __init__.py - helpers/ __init__.py path.py - network/ __init__.py clientlib.py server.py - gui/
..
我正在尝试将字符串日期转换为Python中的时间戳,如文章here所述。当我运行POST中的代码示例时,我遇到一个错误。例如: >>> import time >>> import datetime >>> s = "01/12/2011" >>> time.mktime(datetime.datetime.strptime(s, "%d/%m/%Y").timetuple()) Trace
..
导入整个包在IDLE中工作,但在外壳中不起作用。以下各项在空闲状态下工作正常: import tkinter as tk tk.filedialog.askopenfilename() 在外壳程序中,我收到以下错误: AttributeError: 'module' object has no attribute 'filedialog' 我知道我必须import tkinte
..
如何设置模块导入,以便每个模块可以访问所有其他模块的对象? 我有一个中等大小的Python应用程序,模块文件位于不同的子目录中。我已经创建了将这些子目录附加到sys.path的模块,并使用import thisModule as tm导入了一组模块。使用该限定来引用模块对象。然后我使用from moduleImports import *将该模块导入到其他模块中。代码现在是草率的,并且有几个
..
我在一个包中有几个模块(一种工具包),我在项目中使用它。结构如下: the_toolkit: __init__.py basic_io.py simple_math.py matrix_kit.py ... 现在,当我使用IPython或VIM中的代码完成时,使用 从包中导入模块 from the_toolkit import matrix_k
..
我需要运行脚本foo.py,但我还需要在foo.py中的代码之前插入一些要运行的调试行。目前,我只是将这些行放在foo.py中,我很小心地不将其提交给Git,但我不喜欢这个解决方案。 我想要的是一个单独的文件bar.py,我不提交给Git。然后我想运行: python /somewhere/bar.py /somewhere_else/foo.py 我希望这样做的是首先在bar.p
..
在我的一个Python测试脚本中,我多次使用此模式: sys.path.insert(0, "somedir") mod = __import__(mymod) sys.path.pop(0) 是否有更简洁的方法临时修改搜索路径? 推荐答案 您可以使用简单的context manager: import sys class add_path(): def _
..
我有以下文件安排: python |---- main.py |---- files |---- folder1 |---- a.py, a1.py, ... |---- folder2 |---- b.py, b1.py, ... 我想将我的模块a.py和b.py导入到main.py。为此,我在main.py中使用
..
假设有一个文件夹‘/home/user/temp/a40bd22344’。名称完全是随机的,并且在每次迭代中都会发生变化。我需要能够使用一个固定的名称,比如‘项目’,在Python中导入这个文件夹。我知道我可以将此文件夹添加到sys.path以启用导入查找,但是否有办法将‘a40bd22344’替换为‘project’? 也许在init.py? 中有一些巧妙的黑客攻击 添加: 它需
..
使用__import__时,类似于:somepackage.somemodule,返回的模块不是somemodule,无论返回什么似乎都是空的!这是怎么回事? 推荐答案 来自__import__: __import__( name[, globals[, locals[, fromlist[, level]]]]) ... 当名称变量的形式为 包。模块,通常情况下, 顶级包
..
我今天注意到一些奇怪的事情,我想解释一下。我甚至不能100%确定如何将这句话作为一个问题来表达,所以谷歌是不可能的。由于某种奇怪的原因,日志记录模块无权访问模块logging.handpers。如果你不相信我,你自己试试: >>> import logging >>> logging.handlers Traceback (most recent call last): File "
..
我注意到Flask正在使用Werkzeug__import__一个模块,我有点困惑。我查看了它上的文档,发现它似乎在某种程度上让您在查找模块的位置方面有了更多的控制权,但我不确定确切地如何,我也完全不知道它与importlib.import_module有什么不同。 Werkzeug示例中的奇怪之处在于它只表示__import__(import_name),所以我看不出这与只使用import
..
我惊讶地发现 import foo 和 from foo import * 对全球成员有不同的影响。我想确认我的实验是正确的行为。 在第一个示例中,更改模块foo中的成员将反映在导入foo的所有代码中。但是,在后一种情况下更改该成员似乎只会影响导入该成员的文件。换句话说,使用后一种方法将为每个导入文件提供来自foo的成员的自己的副本。 我想要的行为是可以从所有文件访
..