python 通过win32com操作vcf到outlook中,同时解决乱码问题
之前用的黑莓手机,故障后换了iphone,后来还是想用上黑莓Q10。于是有了该文章。
问题:
如何将iphone上的通讯录导入黑莓?
网上回答1:通过icloud将iphone中的通讯录导入黑莓手机。
结果:在黑莓Q10上登录icloud的服务器contacts.icloud.com时,报错。。。无果。
网上回答2:通过qq或者微信同步助手。
结果:在iphone上没装这些软件,而且要做Q10上安装响应的软件才能同步。。。无果。
网上回答3:将iphone上的通讯录存到sim卡中。
结果:sim卡容量不够,手机上的通讯录有498条,不能转到sim卡上。。。无果。
解决办法:将iphone上的通讯录导出到vcard中,再通过outlook存入黑莓Q10
step1:打开itools.exe,将通讯录导出VCARD
然而。打开看到是乱码,如下:
在网上查到可以用win32com操作outlook。。。于是,用python,并且通过转码,导入outlook。代码如下:
#conding:utf-8
# 使用python操作outlook中的通讯录
# 如果在循环列表外面,生成一张通讯录,那么在存入的时候,会不断覆盖。
# 所以需要在每一个循环列表中生成一张通讯卡
import os
import win32com.client
outlook = win32com.client.Dispatch("Outlook.Application")
#newContact = outlook.CreateItem(2) #只生成一张通讯卡
contactList = os.listdir("contacts")
for contact in contactList:
print(contact)
with open(os.path.join("contacts",contact),encoding="utf-8") as f:
vcard = f.readlines()
LastName = vcard[4].split(":")[1]
MobileTelephoneNumber = vcard[5].split(":")[1]
newContact = outlook.CreateItem(2) #每次创建一张通讯卡
newContact.FirstName = LastName
newContact.MobileTelephoneNumber = MobileTelephoneNumber
newContact.save()
print("done")
这样,在outlook中,全部显示正常了。也不乱码了。
再通过黑莓 blackberrylink ,将通讯录进行同步,就OK了!
python 通过win32com操作vcf到outlook中,同时解决乱码问题的更多相关文章
- Python后端日常操作之在Django中「强行」使用MVVM设计模式
扫盲 首先带大家了解一下什么是MVVM模式: 什么是MVVM?MVVM是Model-View-ViewModel的缩写. MVVM是MVC的增强版,实质上和MVC没有本质区别,只是代码的位置变动而已 ...
- 在Outlook中查看预览SharePoint文档库的文档
本文概况 阅读时间: 约2分钟 适用版本:SharePoint Server 2010及以上 面向用户:普通用户,管理员 难度指数:★★☆☆☆ 在日常工作中,总有一些常用的文档需要经常打开查看,其实我 ...
- Python使用boto3操作AWS S3中踩过的坑
最近在AWS上开发部署应用. 看了这篇关于AWS中国区填坑的文章,结合自己使用AWS的经历,补充两个我自己填的坑. http://www.jianshu.com/p/0d0fd39a40c9?utm_ ...
- win32com操作word(1):几个重要的对象(28.35)
Pywin32模块为python封装了操作windows底层API函数的功能.而win32com是Pywin32下面的一个模块,专门负责操作com组件. 由于office工具(Word.Excel等) ...
- win32com操作word API精讲&项目实战 预告
对win32com的使用和研究有好一段时间了,想起本人刚开始做word编程项目时的各种痛苦:网上能找到的都是简单的示例,如同hello word一般,嚼之无味又无可奈何.读office的word接口文 ...
- win32com操作word 第三集:Range精讲(一)
本课程<win32com操作word API精讲&项目实战>,本公众号以文字分享为主,B站与视频号则发布视频分享,ID均为:一灯编程 本集开始,将会深入Document接口.打开或 ...
- python高级之操作数据库
python高级之操作数据库 本节内容 pymysql介绍及安装 使用pymysql执行sql 获取新建数据自增ID fetch数据类型设置 1.pymysql介绍及安装 在python2中连接数据库 ...
- Python 文件常见操作
# -*-coding:utf8 -*- ''''' Python常见文件操作示例 os.path 模块中的路径名访问函数 分隔 basename() 去掉目录路径, 返回文件名 dirname() ...
- Python :open文件操作,配合read()使用!
python:open/文件操作 open/文件操作f=open('/tmp/hello','w') #open(路径+文件名,读写模式) 如何打开文件 handle=open(file_name,a ...
- 【转载】教你分分钟学会用python爬虫框架Scrapy爬取心目中的女神
原文:教你分分钟学会用python爬虫框架Scrapy爬取心目中的女神 本博文将带领你从入门到精通爬虫框架Scrapy,最终具备爬取任何网页的数据的能力.本文以校花网为例进行爬取,校花网:http:/ ...
随机推荐
- MySQL 如何实现数据更新
一般在更新时会遇到以下场景:1.所有字段全部更新:2.根据条件更新字段中的某部分内容:3.根据不同的条件更新不同的值,以下是几种场景中常用的update方法. 一.方法分类 二.具体用法 (1)根据条 ...
- 【读书笔记】JS函数式编程指南
第一章 海鸥群可以合并和繁育 conjoin breed var result = flock_a.conjoin(flock_c).breed(flock_b).conjoin(flo ck_a.b ...
- 线程基础知识02-CompletableFuture
1 简介 Futrue可以监视目标线程调用call的情况,当你调用Future的get()方法以获得结果时,调用方的线程就被阻塞,直到目标线程的call方法结束并返回结果. 线程的实现方式有几种方式, ...
- 远程控制 todesk
最近发现的一个好用的远程连接软件 便是近些年推出来的 todesk 虽然qq的远程 和 向日葵的 远程连接也都可以达到我要实现的效果 但是体验起来的话 我个人还是觉得 todesk更好用一些 下载地址 ...
- 【DS】1.2
top-iron man 算法 效率度量 时间T=T(n) 1.顺序忽略2.只选一个基本操作分析3.多层嵌套只考虑最深的循环循环了几次 test1: test2: 空间 原地工作:算法所需内 ...
- mingw + cmake + vscode
.vscode settings.json { "cmake.generator": "MinGW Makefiles" } cmake-kits.js ...
- Cesium源码之flyTo(一)
1 /** 2 * Flies the camera from its current position to a new position. 3 * 4 * @param {Object} opti ...
- vscode注释插件
VSCODE注释插件:koro1FileHeader 按koroFileHeader 插件,配置默认注释 1.在扩展中搜索koroFileHeader,安装 2.安装完成后,在设置中搜索,koro1F ...
- 浅析容器运行时奥秘——OCI标准
背景 2013年Docker开源了容器镜像格式和运行时以后,为我们提供了一种更为轻量.灵活的"计算.网络.存储"资源虚拟化和管理的解决方案,在业界迅速火了起来. 2014年更是容器 ...
- tabs 滑动效果
https://www.zhangxinxu.com/wordpress/2020/07/css-var-improve-components/ 伪类选择器 https://blog.csdn.net ...