開発環境
- 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 (著) 中田 秀基(監訳)(翻訳)、木下 哲也 (翻訳)、オライリージャパン)の4章(複数のソースファイルの使用: 分割して構築する)、makeマグネット(p.203)をpythonで考えてみる。
makeマグネット(p.203)
コード(BBEdit, Emacs)
error.py
#!/usr/bin/env python3
#-*- coding: utf-8 -*-
import sys
def error(msg):
print(msg, file=sys.stderr)
sys.exit(1)
oggswing.py
#!/usr/bin/env python3
#-*- coding: utf-8 -*-
import sys
import error
if len(sys.argv) != 3:
error.error('引数を2つ指定してください。')
try:
with open(sys.argv[1]) as in_fh, open(sys.argv[2], 'w') as out_fh:
for line in in_fh:
line = line.rstrip()
print(line, file=out_fh)
except Exception as err:
error.error(err)
Makefile
swing.ogg: oggswing.py whitennerdy.ogg ./oggswing.py whitennerdy.ogg swing.ogg
入出力結果(Terminal, IPython)
$ make swing.ogg ./oggswing.py whitennerdy.ogg swing.ogg $ cat whitennerdy.ogg Hello, World! Hello, C! $ cat swing.ogg Hello, World! Hello, C! $ ./oggswing.py 引数を2つ指定してください。 $
0 コメント:
コメントを投稿