python - 如何在 Python 中打印返回请求的函数?

标签 python

我有一个获取用户个人资料数据的函数:

API.py

def getProfileData(self):
    data = json.dumps({
    '_uuid'        : self.uuid,
    '_uid'         : self.username_id,
    '_csrftoken'   : self.token
    })
    return self.SendRequest('accounts/current_user/?edit=true', self.generateSignature(data))

我想在终端打印返回的请求,所以我这样做了:

测试.py

from API import API

API = API("username", "password")
API.login() # login
print(API.getProfileData())

但控制台中没有任何记录。

也许我是以 JavaScript 的方式来做的,因为那是我的背景。

正确的做法是什么?

编辑:

这是 SendRequest 里面的内容:

def SendRequest(self, endpoint, post = None, login = False):
        if (not self.isLoggedIn and not login):
            raise Exception("Not logged in!\n")
            return;

        self.s.headers.update ({'Connection' : 'close',
                                'Accept' : '*/*',
                                'Content-type' : 'application/x-www-form-urlencoded; charset=UTF-8',
                                'Cookie2' : '$Version=1',
                                'Accept-Language' : 'en-US',
                                'User-Agent' : self.USER_AGENT})

        if (post != None): # POST
            response = self.s.post(self.API_URL + endpoint, data=post) # , verify=False
        else: # GET
            response = self.s.get(self.API_URL + endpoint) # , verify=False

        if response.status_code == 200:
            self.LastResponse = response
            self.LastJson = json.loads(response.text)
            return True
        else:
            print ("Request return " + str(response.status_code) + " error!")
            # for debugging
            try:
                self.LastResponse = response
                self.LastJson = json.loads(response.text)
            except:
                pass
            return False

    def getTotalFollowers(self,usernameId):
        followers = []
        next_max_id = ''
        while 1:
            self.getUserFollowers(usernameId,next_max_id)
            temp = self.LastJson

            for item in temp["users"]:
                followers.append(item)

            if temp["big_list"] == False:
                return followers            
            next_max_id = temp["next_max_id"]         

    def getTotalFollowings(self,usernameId):
        followers = []
        next_max_id = ''
        while 1:
            self.getUserFollowings(usernameId,next_max_id)
            temp = self.LastJson

            for item in temp["users"]:
                followers.append(item)

            if temp["big_list"] == False:
                return followers            
            next_max_id = temp["next_max_id"] 

    def getTotalUserFeed(self, usernameId, minTimestamp = None):
        user_feed = []
        next_max_id = ''
        while 1:
            self.getUserFeed(usernameId, next_max_id, minTimestamp)
            temp = self.LastJson
            for item in temp["items"]:
                user_feed.append(item)
            if temp["more_available"] == False:
                return user_feed
            next_max_id = temp["next_max_id"]

最佳答案

如果您只想打印您返回的响应,您可以在 SendRequest 中执行此操作,但我怀疑您真正的问题是您在自序列化您的发布数据时requests 会为您做这些。无论如何,由于您的问题是关于打印的:

    if response.status_code == 200:
        print('Yay, my response was: %s' % response.content)
        self.LastResponse = response
        self.LastJson = json.loads(response.text)
        return True
    else:
        print ("Request return " + str(response.status_code) + " error!")
        # for debugging
        try:
            self.LastResponse = response
            self.LastJson = json.loads(response.text)
        except:
            pass
        return False

关于python - 如何在 Python 中打印返回请求的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39939741/

相关文章:

python - 在 Sphinx 中避免来自父级的文档字符串

Python:获取 URL 路径部分

python - python中左右键的其他 "codes"是什么?

python - 我想在 python youtube 数据 api 中获取所有 nextPageTokens

python - 将 COCO 数据集导入 google colaboratory

python - View 引发的错误 404

python - Pandas 列的别名

python - 无法根据规则 ('float64' 将数组数据从 dtype ('int32' ) 转换为 dtype 'safe' )

python - 在 Django 中实现 "teams"的模型

tensorflow anaconda安装中的Python模块