草庐IT

default-lazy-init

全部标签

Python __init__.py 与 sys.path.append/insert

我know那里are一个ton的how-to进口Pythonmodules不在路径中,但我还没有遇到过使用Python的__init.py__与sys.path.insert。哪种方法更好?是否有任何明显的缺点,比如性能?还有一个“Pythonic”吗?我能想到的一个场景是,我有一个用户下载并放在任何目录中的程序,所以我不知道绝对路径(除非我以编程方式获取它)。文件夹结构为workingdir__init__.pyfoo.pysrc/my_utils.py__init__.py我看不出使用__init__.py或更改sys.path有什么区别。您是否可以想到任何情况会有所作为?我的问题

python - Jupyter Notebook 只有 Python [conda root] 和 Python [default] 内核

我遵循了其他Python[root]帖子中概述的所有步骤,但仍然无法显示python2和python3内核。这是我的Jupyternotebook显示的内容:这是启动日志:我安装了Anaconda3(3.5版本)。如何让python2和python3内核显示出来? 最佳答案 我遇到了和你类似的情况,我是通过以下方式解决的:切换到你想在Jupyternotebook中显示的condaenv>>>sourceactivateconda_env_name在此环境下使用以下方式安装/重新安装Jupyter:(conda_env_name)>

python - 使用装饰器在 __init__ 之后注入(inject)函数调用

我正在尝试找到创建类装饰器的最佳方法,该类装饰器执行以下操作:向装饰类中注入(inject)一些函数在调用装饰类的__init__之后强制调用这些函数之一目前,我只是保存对“原始”__init__方法的引用,并将其替换为调用原始函数和附加函数的__init__。它看起来类似于:orig_init=cls.__init__defnew_init(self,*args,**kwargs):"""'Extend'wrappedclass'__init__sowecanattachtoallsignalsautomatically"""orig_init(self,*args,**kwargs

python - 抽象基类 : raise NotImplementedError() in `__init__.py` ?

PyCharm警告我未调用父类(superclass)的__init__classAbstractBase(object):def__init__(self):raiseNotImplementedError()classRealChild(AbstractBase):def__init__(self):#super(RealChild,self).__init__()####print('dostuff')child=RealChild()但是如果我调用它,AbstractBase类将引发NotImplementedError。我是一只羊,不知道如何进行:-)

python - pytest 是否支持 "default"标记?

我正在使用pytest测试嵌入式系统的python模型。要测试的功能因平台而异。(我在此上下文中使用“平台”来表示嵌入式系统类型,而不是操作系统类型)。组织我的测试最直接的方法是根据平台类型将它们分配到目录。/platform1/platform2/etc.pytest/platform1由于许多功能跨平台重叠,这很快就变得难以支持。从那以后,我将我的测试移到了一个目录中,每个功能区域的测试分配给一个文件名(例如test_functionalityA.py)。然后,我使用pytest标记来指示文件中的哪些测试适用于给定平台。@pytest.mark.all_platformsdefte

python - 包的 `__all__` 的 `__init__` 中没有 Unicode?

Python2.7.5中的__all__中是否不允许使用Unicode文字?我有一个__init__.py文件,顶部有from__future__importunicode_literals,编码为utf-8。(其中还有一些unicode字符串,因此将来会导入。)为确保在使用frommypackageimport*导入时只有部分模块可见,我已将我的类添加到__all__。但是我得到TypeError:Itemin``fromlist''notastring。这是为什么?错误?但是,当我在__all__中将类名转换为str时,它工作得很好。[当我在下面的run.py中指定frommypa

python - 在 __init__ 的 scrapy 管道中使用参数

我有一个scrapypipelines.py,我想得到给定的参数。在我的spider.py中,它运行完美:classMySpider(CrawlSpider):def__init__(self,host='',domain_id='',*args,**kwargs):super(MySpider,self).__init__(*args,**kwargs)printuser_id...现在,我需要在我的pipelines.py中使用“user_id”来创建类似“domain-123.db”的sqlite数据库。我在整个网络上搜索我的问题,但找不到任何解决方案。有人可以帮助我吗?PS:是

python - 必须在 def __init__ 中声明所有 Python 实例变量吗?

或者他们可以以其他方式声明吗?下面的代码不起作用:classBinaryNode():self.parent=Noneself.left_child=None是否需要在__init__中声明? 最佳答案 它们不必在__init__中声明,但为了使用self设置实例变量,需要引用self,而你定义变量的地方没有。但是,classBinaryNode():parent=Noneleft_child=Nonedefrun(self):self.parent="Foo"printself.parentprintself.left_child

python 使用 __init__ 与仅在类中定义变量-有什么区别吗?

我是Python的新手-只是想更好地理解某些事情背后的逻辑。为什么要这样写(默认变量在__init__):classDawg:def__init__(self):self.previousWord=""self.root=DawgNode()self.uncheckedNodes=[]self.minimizedNodes={}definsert(self,word):#...deffinish(self):#...取而代之的是:classDawg:previousWord=""root=DawgNode()uncheckedNodes=[]minimizedNodes={}defin

python - 从 __init__ 中删除工作以帮助单元测试

这个问题的关键是帮助单元测试。如果我有一个繁忙的__init__(即__init__进行复杂的初始化),我不能简单地实例化一个类的对象,但我需要模拟/stub所有调用的方法关于__init__中的依赖项。为了说明这个问题,举个例子:classSomeClass(object):def__init__(self,dep1,dep2,some_string):self._dep1=dep1self._dep2=dep2self._some_string=some_string#Iwouldneedtomockeverythinghere(imaginesomeevenmore#compli