Windowsのアドレス帳のフォルダー内にある、●●.contactファイルをXMLとして順番に全て読み込んで、メールアドレスと氏名を表示させるプログラムをpythonで作ってみた。簡単なプログラムだが、こんなプログラムでも短いステップで記述できるところが、pythonのすごいところだ。
●テスト用に作成した「test.contact」のアドレス帳の要素をすべて出力するスクリプト
#!user\bin\env python
# coding:sjis
from xml.etree.ElementTree import ElementTree
import os
e = ElementTree(file=open("/Users/●●●●/Contacts/test.contact"))
for elem in e.getiterator():
if elem.text:
print elem.text
●os.walkですべてのアドレス帳の氏名とメールアドレスを表示するスクリプト
#!user\bin\env python
# coding:sjis
from xml.etree.ElementTree import ElementTree
import os
for dirp,dirn,filen in os.walk("\Users\●●●●\Contacts"):
for fl in filen:
if fl[len(fl)-8:] == ".contact":
f = os.path.join(dirp,fl)
e = ElementTree(file=open(f))
for elem in e.getiterator():
if elem.text:
if elem.tag.endswith("Address"):
print elem.text,
if elem.tag.endswith("FormattedName"):
print elem.text
Windowsのアドレス帳ファイル、XMLの使い方が分かれば結構使えそうな気がしてきた。