importargparsefromoffice365.sharepoint.client_contextimportClientContextfromtests.settingsimportclient_id,password,site_url,tenant,usernamedefmain():parser=argparse.ArgumentParser(description="Read web property bag values")parser.add_argument("--site-url",default=site_url,help="target site URL")parser.add_argument("--prefix",default="Custom_",help="only print keys with this prefix")args=parser.parse_args()ctx=ClientContext(args.site_url).with_username_and_password(tenant,client_id,username,password)web=ctx.web.get().execute_query()all_props=web.all_properties.get().execute_query()matches=[(key,value)forkey,valueinall_props.properties.items()ifkey.startswith(args.prefix)]ifnotmatches:print(f"No property bag keys with prefix '{args.prefix}'.")returnforkey,valueinmatches:print(f" {key}: {value}")if__name__=="__main__":main()