Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
未找到Python类导入属性_Python_Class_Memcached - Fatal编程技术网

未找到Python类导入属性

未找到Python类导入属性,python,class,memcached,Python,Class,Memcached,我是python新手,我正在尝试创建一个对REST服务的非常简单的API调用。我需要这些数据,以便将其导入到另一个仅支持python的应用程序中。我的问题是我创建了一个python类并试图将其导入到我的应用程序中。我犯了几个错误,然后修改了我的类文件,包括添加了一个名为parse_json的新函数。当我现在运行我的应用程序时,它说该对象没有属性parse_json。当我直接在类中运行代码时,它可以工作,但是从一个单独的文件中运行并导入该类会产生上面的错误 ../bin/lib/meetupapi

我是python新手,我正在尝试创建一个对REST服务的非常简单的API调用。我需要这些数据,以便将其导入到另一个仅支持python的应用程序中。我的问题是我创建了一个python类并试图将其导入到我的应用程序中。我犯了几个错误,然后修改了我的类文件,包括添加了一个名为parse_json的新函数。当我现在运行我的应用程序时,它说该对象没有属性parse_json。当我直接在类中运行代码时,它可以工作,但是从一个单独的文件中运行并导入该类会产生上面的错误

../bin/lib/meetupapi.py->我的类文件

class MeetupAPI(object):

    BASE_URL = 'https://api.meetup.com'

    def __init__(self, request_uri, api_key, group_urlname):
        self.request_uri = request_uri
        self.api_key = api_key
        self.group_urlname = group_urlname


    # Parse JSON query from API Call
    def parse_json(self, url, result_type=0):
        self.url = url
        self.result_type = result_type

        self.json_obj = urllib2.urlopen(self.url)
        self.data = json.load(self.json_obj)
        if result_type is not 0:
            if self.data[result_type]:
                return json.dumps(self.data[result_type])
        else:
            return json.dumps(self.data)


    # Get member IDs for profile
    def get_mid(self, request_type):
        self.request_type = request_type

        if self.request_type == 'member':
            self.url = MeetupAPI.BASE_URL + '/2/members?key=' + \
                self.api_key + '&group_urlname=' + self.group_urlname
        elif self.request_type == 'event':
            url = MeetupAPI.BASE_URL + '/2/events?key=' + \
                self.api_key + '&group_urlname=' + self.group_urlname

        self.json_obj = urllib2.urlopen(self.url)
        self.data = json.load(self.json_obj)
        self.mids = []

        for self.item in self.data['results']:
            if self.item['id']:
                self.mids.extend([self.item['id']])

        return self.mids

    # Get Group IDs for reference
    def get_gid(self):
        self.url = MeetupAPI.BASE_URL + '/' + \
            self.group_urlname + '?key=' + self.api_key

        return self.url

    # Main Meetup API Query for group based information
    def query(self):
        self.url = MeetupAPI.BASE_URL + self.request_uri + '?key=' + \
            self.api_key + '&group_urlname=' + self.group_urlname

        return self.url

    # Get member or event profile information
    def profile(self,mid,gid):
        self.mid = mid
        self.gid = gid

        self.url = MeetupAPI.BASE_URL + '/2/profile/' + \
            str(self.gid) + '/' + \
            str(self.mid) + '?key=' + self.api_key

        return self.url
../bin/test.py->我的测试文件

# Import required libraries
from meetupapi import MeetupAPI

Meetup = MeetupAPI(
    '/2/members',
    'xxxxxxx',
    'xxxxxxx'
)
mids = Meetup.get_mid('member')
group = Meetup.get_gid()
gid = Meetup.parse_json(group, 'id')

for mid in mids:
    member = Meetup.profile(mid, gid)
    profile = Meetup.parse_json(member)
    print profile
运行时出错

Traceback (most recent call last):
  File "./test2.py", line 25, in <module>
    gid = Meetup.parse_json(group, 'id')
AttributeError: 'MeetupAPI' object has no attribute 'parse_json'
回溯(最近一次呼叫最后一次):
文件“/test2.py”,第25行,在
gid=Meetup.parse_json(组“id”)
AttributeError:'MeetupAPI'对象没有属性'parse_json'

请记住,我以前从未用python编写过类,所以我可能错过了一些非常简单的东西。我看了所有我能找到的给别人的答案,但似乎没有一个是合适的。如果您能提供任何帮助,我们将不胜感激。

请检查meetupapi.pyc的lib目录(注意“c”)并将其删除。然后再次尝试导入模块。模块在导入时编译为字节码。如果您修改该文件,新的编译应该会自动完成,但可能不会。

我没有看到meetupapi.pyc文件。我的导入完全错了吗?现在我看到了,您的模块位于bin/lib目录中。我不希望你能像现在这样进口它。你的bin目录中也有meetupapi.py文件吗?不,我也是新手,所以我读了另一篇文章,说在bin目录中创建一个init.py文件:from lib.meetupapi import MeetupAPIOk…所以我把它移到bin文件夹中,它不再出现属性错误。现在我只得到一个urllib2未定义错误。我将urllib2导入添加到类中,但它仍然存在错误。它还创建了.pyc文件。您是在Python2还是在Python3中这样做的?Python3中没有urllib2。