「逆引き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")
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']
----
#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']
----