importargparsefromoffice365.sharepoint.client_contextimportClientContextfromtests.settingsimportclient_id,password,site_url,tenant,usernamedefmain():parser=argparse.ArgumentParser(description="Read list items with selected fields")parser.add_argument("--list-title",default="Documents",help="list title")parser.add_argument("--fields",nargs="+",default=["Title","Created","Modified"],help="fields to select")args=parser.parse_args()ctx=ClientContext(site_url).with_username_and_password(tenant=tenant,client_id=client_id,username=username,password=password)items=ctx.web.lists.get_by_title(args.list_title).items.select(args.fields).get().execute_query()print(f"Items ({len(items)}):")foriteminitems:values=", ".join(f"{f}={item.properties.get(f,'?')}"forfinargs.fields)print(f" {item.id}: {values}")if__name__=="__main__":main()