開発環境
- OS X Mavericks - Apple(OS)
- Emacs (CUI)、BBEdit - Bare Bones Software, Inc. (GUI) (Text Editor)
- Python 3.4 (プログラミング言語)
Head First C ―頭とからだで覚えるCの基本(David Griffiths (著)、Dawn Griffiths (著) 中田 秀基(監訳)(翻訳)、木下 哲也 (翻訳)、オライリージャパン)の10章(プロセス間通信: お話は楽しい)、エクササイズ(p.447)をpythonで考えてみる。
エクササイズ(p.447)
コード(BBEdit, Emacs)
news_opener.py
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import os
import sys
def openUrl(url):
if sys.platform == 'win32':
os.system('cmd /c start {0}'.format(url))
elif sys.platform == 'linux':
os.system("x-www-browser '{0}' &".format(url))
elif sys.platform == 'darwin':
os.system("open '{0}' &".format(url))
phrase = sys.argv[1]
env = dict(RSS_FEED='http://rss.cnn.com/rss/edition.rss')
read_end, write_end = os.pipe()
pid = os.fork()
if pid == 0:
os.close(read_end)
os.dup2(write_end, 1)
os.execle('/usr/bin/python', '/usr/bin/python', 'rssgossip.py', '-u',
phrase, env)
os.close(write_end)
os.dup2(read_end, 0)
for line in sys.stdin:
if line[0] == '\t':
line = line.strip()
print(line)
openUrl(line)
入出力結果(Terminal, IPython)
$ ./news_opener.py 'world' http://edition.cnn.com/2014/09/05/world/gallery/this-artist-has-created-the-worlds-most-frustrating-objects/index.html?eref=edition http://edition.cnn.com/2014/09/22/travel/best-nightlife-cities/index.html?eref=edition http://edition.cnn.com/video/data/2.0/video/us/2014/09/23/pkg-man-carries-cross-around-the-world.kait.html?eref=edition http://edition.cnn.com/2014/09/22/business/coolest-brands-list/index.html?eref=edition $
0 コメント:
コメントを投稿