importargparsefromoffice365.sharepoint.client_contextimportClientContextfromoffice365.sharepoint.listitems.collectionimportListItemCollectionfromtests.settingsimportcert_path,cert_thumbprint,client_id,team_site_url,tenantdefmain():parser=argparse.ArgumentParser(description="Read list items page by page")parser.add_argument("--list-title",default="Documents",help="list title")parser.add_argument("--page-size",type=int,default=1000,help="items per page")args=parser.parse_args()ctx=ClientContext(team_site_url).with_client_certificate(tenant,client_id=client_id,thumbprint=cert_thumbprint,cert_path=cert_path)target=ctx.web.lists.get_by_title(args.list_title)defprint_page(items:ListItemCollection)->None:print(f"Items read: {len(items)}")target.items.paged(args.page_size,page_loaded=print_page).get().execute_query()print(f"Loaded {len(target.items)} item(s); has next page: {target.items.has_next}")if__name__=="__main__":main()