2014年5月27日火曜日

開発環境

初めてのPerl 第6版 (Randal L. Schwartz (著)、brian d foy (著)、Tom Phoenix (著)、近藤 嘉雪 (翻訳)、オライリージャパン)の13章(ディレクトリ操作)の13.13(練習問題)6.をPythonで考えてみる。

13.13(練習問題)6.

コード(BBEdit, Emacs)

sample290_6.py

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

import os
import sys

if len(sys.argv) != 3:
    sys.exit()

src = sys.argv[1]
dst = sys.argv[2]

if os.path.isdir(dst):
    dst = os.path.join(dst, os.path.basename(src))

try:
    os.link(src, dst)
except:
    print(sys.exc_info())

入出力結果(Terminal)

$ ls temp*.txt
temp.txt
$ ./sample290_6.py temp.txt temp1.txt
$ ls -l temp*.txt
-rw-r--r--  2 kamimura  staff  0 May 20 14:16 temp.txt
-rw-r--r--  2 kamimura  staff  0 May 20 14:16 temp1.txt
$ ./sample290_6.py temp.txt temp_dir
$ ls -l temp*.txt temp_dir/temp*.txt
-rw-r--r--  3 kamimura  staff  0 May 20 14:16 temp.txt
-rw-r--r--  3 kamimura  staff  0 May 20 14:16 temp1.txt
-rw-r--r--  3 kamimura  staff  0 May 20 14:16 temp_dir/temp.txt
$ ./sample290_6.py temp.txt temp_dir/temp2.txt
$ ls -l temp*.txt temp_dir/temp*.txt
-rw-r--r--  4 kamimura  staff  0 May 20 14:16 temp.txt
-rw-r--r--  4 kamimura  staff  0 May 20 14:16 temp1.txt
-rw-r--r--  4 kamimura  staff  0 May 20 14:16 temp_dir/temp.txt
-rw-r--r--  4 kamimura  staff  0 May 20 14:16 temp_dir/temp2.txt
$ ./sample290_6.py temp_dir/temp2.txt .
$ ls -l temp*.txt temp_dir/temp*.txt
-rw-r--r--  5 kamimura  staff  0 May 20 14:16 temp.txt
-rw-r--r--  5 kamimura  staff  0 May 20 14:16 temp1.txt
-rw-r--r--  5 kamimura  staff  0 May 20 14:16 temp2.txt
-rw-r--r--  5 kamimura  staff  0 May 20 14:16 temp_dir/temp.txt
-rw-r--r--  5 kamimura  staff  0 May 20 14:16 temp_dir/temp2.txt
$ ./sample290_6.py temp_dir/temp2.txt temp3.txt
$ ls -l temp*.txt temp_dir/temp*.txt
-rw-r--r--  6 kamimura  staff  0 May 20 14:16 temp.txt
-rw-r--r--  6 kamimura  staff  0 May 20 14:16 temp1.txt
-rw-r--r--  6 kamimura  staff  0 May 20 14:16 temp2.txt
-rw-r--r--  6 kamimura  staff  0 May 20 14:16 temp3.txt
-rw-r--r--  6 kamimura  staff  0 May 20 14:16 temp_dir/temp.txt
-rw-r--r--  6 kamimura  staff  0 May 20 14:16 temp_dir/temp2.txt
$ ./sample290_6.py ab cd
(<class 'FileNotFoundError'>, FileNotFoundError(2, 'No such file or directory'), <traceback object at 0x10c33c708>)
$

0 コメント:

コメントを投稿