而循环生成重复的Python

2024-06-16 10:39:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用下面的代码片段从Freshdesk检索数据-在这个阶段,测试参数是否按预期被替换,我注意到的是,它不是只打印10行,而是打印了30行。知道为什么吗

def data_extraction(url):
    i = 1
    page_num = 10
    while i <= page_num:
        param = { 'page': i, 'per_page': 100}
        formatted_url = furl(url).add(param).url
        i += 1
        print(formatted_url)        
data_extraction('https://yourdomain.freshdesk.com/api/v2/tickets')

电流输出: enter image description here


Tags: 数据代码urldata参数paramdefpage
1条回答
网友
1楼 · 发布于 2024-06-16 10:39:10

以下是整个片段。我删除了furl库,也许,如果有的话,该库中有一个bug,但是根据上面@Barmar和@Cavin的评论,它没有运行30次。我怀疑你在代码的其他地方不经意地调用了它

编辑:添加一个打印以查看在代码中调用它的位置,并验证调用一次

        >>> def data_extraction(url):
                print('calling data_extraction function')
                i = 1
                page_num = 10
                while i <= page_num:
                    formatted_url = f'{url}?page={i}&per_page=100'
                    i += 1
                    print(formatted_url)

        >>> data_extraction('https://yourdomain.freshdesk.com/api/v2/tickets')
        calling data_extraction function
        https://yourdomain.freshdesk.com/api/v2/tickets?page=1&per_page=100
        https://yourdomain.freshdesk.com/api/v2/tickets?page=2&per_page=100
        https://yourdomain.freshdesk.com/api/v2/tickets?page=3&per_page=100
        https://yourdomain.freshdesk.com/api/v2/tickets?page=4&per_page=100
        https://yourdomain.freshdesk.com/api/v2/tickets?page=5&per_page=100
        https://yourdomain.freshdesk.com/api/v2/tickets?page=6&per_page=100
        https://yourdomain.freshdesk.com/api/v2/tickets?page=7&per_page=100
        https://yourdomain.freshdesk.com/api/v2/tickets?page=8&per_page=100
        https://yourdomain.freshdesk.com/api/v2/tickets?page=9&per_page=100
        https://yourdomain.freshdesk.com/api/v2/tickets?page=10&per_page=100
        >>> 

相关问题 更多 >