開発環境
- OS X Mavericks - Apple(OS)
- Emacs (CUI)、BBEdit - Bare Bones Software, Inc. (GUI) (Text Editor)
- Python 3.4 (プログラミング言語)
初めてのPerl 第6版 (Randal L. Schwartz (著)、brian d foy (著)、Tom Phoenix (著)、近藤 嘉雪 (翻訳)、オライリージャパン)の16章(プロセス管理)の16.9(練習問題)2.をPythonで考えてみる。
16.9(練習問題)2.
コード(BBEdit, Emacs)
sample2.py
#!/usr/bin/env python3 #-*- coding: utf-8 -*- import os import sys try: f_out = open('ls.out', 'w') f_err = open('ls.err', 'w') os.chdir(sys.argv[1]) print(os.popen('ls -l').read(), end='', file=f_out) except Exception as err: print(err, file=f_err) finally: f_out.close() f_err.close()
入出力結果(Terminal, IPython)
$ ./sample2.py / $ cat ls.out total 16437 drwxrwxr-x+ 61 root admin 2074 Aug 13 09:16 Applications drwxr-xr-x+ 66 root wheel 2244 May 13 19:51 Library drwxr-xr-x@ 2 root wheel 68 Aug 25 2013 Network drwxr-xr-x+ 4 root wheel 136 Apr 22 02:37 System drwxr-xr-x 6 root admin 204 Apr 26 05:24 Users drwxrwxrwt@ 6 root admin 204 Aug 19 16:19 Volumes drwxr-xr-x@ 39 root wheel 1326 Jul 1 08:51 bin drwxrwxr-t@ 2 root admin 68 Aug 25 2013 cores dr-xr-xr-x 3 root wheel 4447 Aug 11 03:25 dev lrwxr-xr-x@ 1 root wheel 11 Apr 22 02:18 etc -> private/etc dr-xr-xr-x 2 root wheel 1 Aug 11 03:25 home -rwxr-xr-x@ 1 root wheel 8394000 Jun 4 13:27 mach_kernel dr-xr-xr-x 2 root wheel 1 Aug 11 03:25 net drwxr-xr-x 5 root wheel 170 Jul 25 13:33 opt drwxr-xr-x@ 6 root wheel 204 Apr 22 02:49 private drwxr-xr-x@ 62 root wheel 2108 Jul 1 08:51 sbin lrwxr-xr-x@ 1 root wheel 11 Apr 22 02:19 tmp -> private/tmp drwxr-xr-x@ 10 root wheel 340 May 27 09:14 usr lrwxr-xr-x@ 1 root wheel 11 Apr 22 02:19 var -> private/var $ cat ls.err $ rm ls.* remove ls.err? y remove ls.out? y $ ./sample2.py abcde $ cat ls.out $ cat ls.err [Errno 2] No such file or directory: 'abcde' $
0 コメント:
コメントを投稿