開発環境
- 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.435)をpythonで考えてみる。
自分で考えてみよう(p.435)
コード(BBEdit, Emacs)
newshound2.py
#!/usr/bin/env python3 #-*- coding: utf-8 -*- import os import sys def error(msg): print('{0}: {1}'.format(msg, err)) sys.exit(1) phrase = sys.argv[1] env = {'RSS_FEED':"http://rss.cnn.com/rss/edition.rss"} try: with open('stories.txt', 'w') as f: try: pid = os.fork() except Exception as err: error('プロセスをフォークできません。') if pid == 0: try: os.dup2(f.fileno(), sys.stdout.fileno()) except Exception as err: error('標準出力をリダイレクトできません。') try: os.execle('/usr/bin/python', '/usr/bin/python', 'rssgossip.py', phrase, env) except Exception as err: error('スクリプトを実行できません。') except Exception as err: error('stories.txtを開けません。')
入出力結果(Terminal, IPython)
$ ./newshound2.py Japan $ cat stories.txt Japan's cross-dressing icon China and Japan's 'war of words' $
0 コメント:
コメントを投稿