開発環境
- 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 コメント:
コメントを投稿