背景:需要测试app从手机导入大批量通讯录;手工创建联系人太麻烦。
解决方案:在手机新建一个联系人并导出为xml格式,依据该格式使用python写xml文件,然后导入到手机。
python代码:
# encoding:utf-8
import time,datetime,os
dict = {'0':'零',
'1':'一',
'2':'二',
'3':'三',
'4':'四',
'5':'五',
'6':'六',
'7':'七',
'8':'八',
'9':'九'
}
def func():
filename = 'Contact=' + str(datetime.datetime.strftime(datetime.datetime.now(),'%Y-%m-%d-%H-%M-%S'))
fp = open('D:/contract/'+filename+'.xml','w',encoding='utf-8')
# 写入头部
fp.writelines('''<?xml version="1.0" encoding="UTF-8" ?>
<Contacts>
''')
# 写入联系人
for i in range(1000,2000):
user_name = ''
name = str(i)
tel_no1 = '010'+str(i)+str(i)
tel_no2 = '010'+str(i)+str(i)
company_name = '公司'+str(i)
phone_no = '1300000'+str(i)
for s in name:
user_name += dict[s]
fp.writelines('''<Contact>
<Name><![CDATA['''+user_name+''']]></Name>
<Categories>
</Categories>
<PhoneList>
<Phone Type="2"><![CDATA['''+phone_no+''']]></Phone>
<Phone Type="1"><![CDATA['''+tel_no1+''']]></Phone>
<Phone Type="3"><![CDATA['''+tel_no2+''']]></Phone>
</PhoneList>
<EMailList>
</EMailList>
<IMList>
</IMList>
<AddressList>
</AddressList>
<OrgList>
<Org Type="0"><![CDATA['''+company_name+''']]></Org>
</OrgList>
</Contact>
''')
#写入尾部
fp.writelines('''
</Contacts>''')
fp.close()
if __name__ == '__main__':
func();