開発環境
- OS X Lion - Apple(OS)
- BBEdit - Bare Bones Software, Inc., Emacs(Text Editor)
- プログラミング言語: Perl
『続・初めてのPerl 改訂版』(Randal L. Schwartz, brian d foy, Tom Phoenix 著、伊藤 直也、田中 慎司、吉川 英興 監訳、株式会社ロングテール/長尾 高弘 訳、オライリー・ジャパン、2006年、ISBN4-87311-305-9)の8章(ファイルハンドルへのリファレンス)の8.6(練習問題)3を解いてみる。
その他参考書籍
3.
コード(BBEdit)
sample.pl
#!/usr/bin/env perl use strict; use warnings; use 5.016; use utf8; binmode STDOUT, ':utf8'; binmode STDIN, ':utf8'; binmode STDERR, ':utf8'; use IO::Dir; for (@ARGV) { my $dir_fh = IO::Dir->new( $_ ) || die "Could not open dirhandle: $!"; say $_; while (defined( my $file = $dir_fh->read)) { say " $file"; } }
入出力結果(Terminal)
$ ./sample.pl . ../python . . .. .DS_Store .out __pycache__ barney betty coconet.dat coconet_total.dat coconet_total_2.dat date.txt distribute-0.6.34.tar.gz fred Gilligan: Ginger: hello_world.pl html link_test ln.txt ln1.txt log log.dat log_file.txt Lovey: ls.out MaryAnn: MonkeyMan: numbers Oogaboogoo perl_kamimura_blog perl_kamimura_blog.html perl_program1 Professor: result sample sample.pl sample.py sample.txt sample_folder sample_text Skipper: some_file some_folder sortable_hash standings.db test.out test.py test.txt test.txt.out test_folder test_link Thurston: tmp.txt tmp1.txt tmp2.txt total_bytes.dat untitled text 2.txt ../python . .. *Minibuf-2* # *Minibuf-2*# #sample.py# #y# .DS_Store __pycache__ build c_program c_program.c c_program.dSYM changer.py file.py html kamimura.jpg myclient.py myclient1.py myclient2.py myfile.txt mypkg person_name.xml personal_name.txt python_kamimura_blog python_kamimura_blog.html python_program.pyc python_program1.py recur1.py recur2.py sample.py sample.pyc sample.py~ sample.txt sample_dir sample_folder some_file tmp.pl tmp.py tmp.txt $
ちなみにpython3.3の場合。
コード(BBEdit)
sample.py
#!/usr/bin/env python3.3 ## Copyright (C) 2013 by kamimura #-*- coding: utf-8 -*- import os import sys import glob for dir in sys.argv[1:]: path = os.path.abspath(dir) print(dir) for file in glob.glob('{0}{1}*'.format(path, os.path.sep)): print(' {0}'.format(os.path.basename(file)))
入出力結果(Terminal)
$ ./sample.py . ../python . __pycache__ barney betty coconet.dat coconet_total.dat coconet_total_2.dat date.txt distribute-0.6.34.tar.gz fred Gilligan: Ginger: hello_world.pl html link_test ln.txt ln1.txt log log.dat log_file.txt Lovey: ls.out MaryAnn: MonkeyMan: numbers Oogaboogoo perl_kamimura_blog perl_kamimura_blog.html perl_program1 Professor: result sample sample.pl sample.py sample.txt sample_folder sample_text Skipper: some_file some_folder sortable_hash standings.db test.out test.py test.txt test.txt.out test_folder test_link Thurston: tmp.txt tmp1.txt tmp2.txt total_bytes.dat untitled text 2.txt ../python *Minibuf-2* # *Minibuf-2*# #sample.py# #y# __pycache__ build c_program c_program.c c_program.dSYM changer.py file.py html kamimura.jpg myclient.py myclient1.py myclient2.py myfile.txt mypkg person_name.xml personal_name.txt python_kamimura_blog python_kamimura_blog.html python_program.pyc python_program1.py recur1.py recur2.py sample.py sample.pyc sample.py~ sample.txt sample_dir sample_folder some_file tmp.pl tmp.py tmp.txt $
0 コメント:
コメントを投稿