importargparsefromoffice365.sharepoint.client_contextimportClientContextfromtests.settingsimportclient_id,password,team_site_url,tenant,usernamedefmain():parser=argparse.ArgumentParser(description="Create a list item and upload an attachment")parser.add_argument("--list-title",default="Company Tasks",help="list title")parser.add_argument("--file",default="../../../data/Financial Sample.xlsx",help="file to upload as an attachment")args=parser.parse_args()ctx=ClientContext(team_site_url).with_username_and_password(tenant=tenant,client_id=client_id,username=username,password=password,)tasks_list=ctx.web.lists.get_by_title(args.list_title)# 1. create a new list itemtask_item=tasks_list.add_item({"Title":"New Task"}).execute_query()# 2. read & upload attachment for a list itemwithopen(args.file,"rb")asf:attachment=task_item.attachment_files.upload(f).execute_query()print(attachment)if__name__=="__main__":main()