标签: python-datamodel

使用super的问题(python 2.5.2)

我正在为我的程序编写一个插件系统,我无法解决一件事:

class ThingLoader(object):
'''
Loader class
'''

    def loadPlugins(self):
        '''
        Get all the plugins from plugins folder
        '''
        from diones.thingpad.plugin.IntrospectionHelper import loadClasses

        classList=loadClasses('./plugins', IPlugin)#Gets a list of 
        #plugin classes
        self.plugins={}#Dictionary that should be filled with 
        #touples of objects and theirs states, activated, deactivated.
        classList[0](self)#Runs nicelly
        foo = classList[1]
        print foo#prints <class 'TestPlugin.TestPlugin'>
        foo(self)#Raise an exception
Run Code Online (Sandbox Code Playgroud)

测试插件看起来像这样:

import diones.thingpad.plugin.IPlugin as plugin
   class TestPlugin(plugin.IPlugin):
       '''
     classdocs
    '''
    def __init__(self, loader):
        self.name='Test Plugin'
        super(TestPlugin, self).__init__(loader)
Run Code Online (Sandbox Code Playgroud)

现在IPlugin看起来像这样:

class IPlugin(object):
    '''
    classdocs
    '''
    name=''
    def …
Run Code Online (Sandbox Code Playgroud)

python introspection python-datamodel

2
推荐指数
1
解决办法
1298
查看次数

Python:原始的'对象'类被重新定义.如何获得'对象'课程?

我正在为Squish Automation Tool使用python语言.这个工具扩展了python与一些自定义对象和函数.这就是他们在手册中所说的:

Squish的Python特定扩展模块通过内部执行以下语句的等效内容自动加载:

Python
import test
import testData
import object
import objectMap
import squishinfo
from squish import *
Run Code Online (Sandbox Code Playgroud)

这意味着除非您正在开发自己的独立模块,否则无需自行导入它们.

通过这样做,他们object自动重新定义(对此),所以我尝试做新式类(如class NewClass(object):)会给我一个错误:

TypeError:调用元类库时出错.module.__init__() 最多需要2个参数(给出3个)

所以我想要object退缩.在阅读了关于元类的惊人文章之后,我正试图object使用以下代码:

class OrigObject:
    __metaclass__ = type

class NewClass(OrigObject):
    pass
Run Code Online (Sandbox Code Playgroud)

我的问题是:是否与继承原始object类相同?

更新:我只能使用Python 2.4(如果重要的话)

谢谢!

python metaclass python-datamodel

2
推荐指数
1
解决办法
1385
查看次数

从 RangeIndex 到 DatetimeIndex

我正在分析一个动作的时间序列(从 2000 年到 2018 年的历史)。我希望能够通过将所有日期时间数据放在 DatetimeIndex 中来更好地分析我的时间序列(例如,每月、每季度)。我该怎么做?是否可以?

df.columns
Out[181]: Index(['Date', 'Price', 'Open', 'High', 'Low'], dtype='object')

df.index
Out[179]: RangeIndex(start=0, stop=4309, step=1)

df.info
[4309 rows x 5 columns]>

type(df)
Out[178]: pandas.core.frame.DataFrame
Run Code Online (Sandbox Code Playgroud)

python database python-datamodel pandas

2
推荐指数
1
解决办法
4269
查看次数

在Python中搜索dicts列表的最简单方法是什么?

我的数据库当前返回一个dicts列表:

id_list = ({'id': '0c871320cf5111df87da000c29196d3d'}, 
           {'id': '2eeeb9f4cf5111df87da000c29196d3d'}, 
           {'id': '3b982384cf5111df87da000c29196d3d'}, 
           {'id': '3f6f3fcecf5111df87da000c29196d3d'}, 
           {'id': '44762370cf5111df87da000c29196d3d'}, 
           {'id': '4ba0d294cf5111df87da000c29196d3d'})
Run Code Online (Sandbox Code Playgroud)

如何轻松检查给定的ID是否在此列表中?

谢谢.

python python-datamodel

1
推荐指数
3
解决办法
683
查看次数

这个Python代码是什么意思?

__author__="Sergio.Tapia"
__date__ ="$18-10-2010 12:03:29 PM$"

if __name__ == "__main__":
    print("Hello")
    print(__author__)
Run Code Online (Sandbox Code Playgroud)

它从哪里获得__main____name__

谢谢您的帮助

python python-datamodel

1
推荐指数
1
解决办法
397
查看次数

Python std方法层次结构调用记录?

刚刚在dict"type"子类中遇到问题.我确实覆盖了__iter__方法,并期望它会影响其他方法,如iterkeys,keys等.因为我相信他们调用__iter__方法来获取值,但似乎它们是独立实现的,我必须覆盖所有这些.

这是一个错误或意图他们没有使用其他方法并分别检索值?

我没有在标准Python文档中找到标准类方法之间调用依赖关系的描述.对于子类化工作和方向来说,为了正确的行为需要覆盖哪些方法,这将是很方便的.是否有一些关于python基类型/类内部的补充文档?

python python-datamodel

1
推荐指数
1
解决办法
135
查看次数

python ImportError:无法从'faker'导入名称'Faker'

你好,所以我一直在编写此脚本来预填充我的Django数据库,但是当我停止编写它时,出现了一个奇怪的错误:我的脚本:

import os
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'first_project.settings')

import django
django.setup()

## FAKE POPULATION SCRIPT:

import random
from first_app.models import AccessRecord,Webpage,Topic
from faker import Faker

# Creating a fake generator:
fakegen = Faker
topics = ['Search', 'Social', 'Marketplace', 'News', 'Games']


def add_topic():
    t = Topic.objects.get_or_create(top_name=random.choice(topics))[0]
    t.save()
    return t

def populate(N = 5):

    for entry in range(N):

        # GET THE TOPIC FOR THE ENTRY:
        top = add_topic()

        # Create the fake data for that entry:
        fake_url = fakegen.url()
        fake_date = fakegen.date()
        fake_name = fakegen.company() …
Run Code Online (Sandbox Code Playgroud)

python django django-models python-datamodel faker

1
推荐指数
1
解决办法
998
查看次数