「逆引きPython/ディレクトリ」の編集履歴(バックアップ)一覧に戻る

逆引きPython/ディレクトリ - (2009/08/08 (土) 11:19:19) のソース

#contents(fromhere=true)

**ディレクトリの作成
 >>> import os
 >>> os.mkdir("tmp")

**ディレクトリの削除
 >>> import os
 >>> os.rmdir("tmp")

中身が空ではないディレクトリはos.rmdir()では削除できません。そのような時はshutil.rmtree()を用います。
 >>> import os
 >>> os.rmdir("tmp") #tmpディレクトリは空でないので削除できない
 Traceback (most recent call last):
   File "<stdin>", line 1, in <module>
 OSError: [Errno 39] Directory not empty: 'tmp'
 >>> import shutil
 >>> shutil.rmtree("tmp")

**ディレクトリのコピー
 >>> import shutil
 >>> shutil.copytree("tmp","tmp2")

**ディレクトリを移動・現在位置を確認・ファイル一覧を取得する
 >>> import os
 >>> os.chdir("/usr/local")
 >>> os.getcwd()
 '/usr/local'
 >>> os.listdir(".")
 ['lib', 'games', 'man', 'include', 'share', 'src', 'sbin', 'bin', 'etc']

**ファイルをコピー・移動する
shutil.copy()でファイルをコピーできます。shutil.copy2()は"cp -p"のようにファイルの属性もコピーします。shutil.moveは"mv"のようにファイルを移動・リネームします。
 >>> import shutil
 >>> shutil.copy("foo.txt","foo2.txt")
 >>> shutil.copy2("foo.txt","foo3.txt")
 >>> shutil.move("foo2.txt","foo3.txt")

**ファイルサイズを取得する
 >>> import os.path
 >>> os.path.getsize("foo.txt")
 23

**指定したパスからディレクトリ名・ファイル名を抜き出す
 >>> import os.path
 >>> os.path.dirname("/usr/local/bin/python")
 '/usr/local/bin'
 >>> os.path.basename("/usr/local/bin/python")
 'python'
 >>> os.path.split("/usr/local/bin/python")
 ('/usr/local/bin', 'python')

**指定したパスがディレクトリ・ファイルかを判定する
 >>> import os.path
 >>> os.path.isdir("/usr/local/bin")
 True
 >>> os.path.isfile("foo.txt")
 True

**指定したパスが存在するか判定する
 >>> import os.path
 >>> os.path.exists("foo.txt")
 True

**絶対パスを取得する
 >>> import os.path
 >>> os.path.abspath("foo.txt")
 '/home/user/foo.txt'

**条件を指定したファイル名の取得
 >>> import glob
 >>> glob.glob("*.txt")
 ['bar.txt', 'foo.txt']

----