2014年7月22日火曜日

開発環境

初めてのPerl 第6版 (Randal L. Schwartz (著)、brian d foy (著)、Tom Phoenix (著)、近藤 嘉雪 (翻訳)、オライリージャパン)の15章(スマートマッチとgiven-when)の15.6(練習問題)3.をPythonで考えてみる。

15.6(練習問題)3.

コード(BBEdit, Emacs)

sample3.py

#!/usr/bin/env python3
#-*- coding: utf-8 -*-

import os
import sys
import glob

print('コマンドライン引数(sys.argv[1:])')
for arg in sys.argv[1:]:
    print(arg, end=': ')
    if os.path.exists(arg):
        result = ''
        if os.access(arg, mode=os.R_OK):
            result += '読み出し可能 '
        if os.access(arg, mode=os.W_OK):
            result += '書き込み可能 '
        if os.access(arg, mode=os.X_OK):
            result += '実行可能'
        print(result)
    else:
        print('存在しません。')

print('glob module')
for filename in glob.glob('*'):
    print(filename, end=': ')
    result = ''
    if os.access(filename, mode=os.R_OK):
        result += '読み出し可能 '
    if os.access(filename, mode=os.W_OK):
        result += '書き込み可能 '
    if os.access(filename, mode=os.X_OK):
        result += '実行可能'
    print(result)

入出力結果(Terminal, IPython)

$ mkdir dir
$ touch temp.txt
$ chmod 0 temp.txt 
$ ./sample3.py dir temp.txt sample3.py abcde
$ ./sample3.py dir temp.txt sample3.py abcde
コマンドライン引数(sys.argv[1:])
dir: 読み出し可能 書き込み可能 実行可能
temp.txt: 
sample3.py: 読み出し可能 書き込み可能 実行可能
abcde: 存在しません。
glob module
__pycache__: 読み出し可能 書き込み可能 実行可能
dir: 読み出し可能 書き込み可能 実行可能
fizz_buzz.py: 読み出し可能 書き込み可能 実行可能
fizz_buzz.py~: 読み出し可能 書き込み可能 実行可能
sample1.py: 読み出し可能 書き込み可能 実行可能
sample1.py~: 読み出し可能 書き込み可能 
sample3.py: 読み出し可能 書き込み可能 実行可能
sample3.py~: 読み出し可能 書き込み可能 実行可能
temp.txt: 
$

0 コメント:

コメントを投稿