このモジュールには、パス名を操作する便利な関数が定義されています。
警告: これらの関数の多くはWindowsの一律命名規則(UNCパス名)を正しく サポートしていません。splitunc()とismount()は正し くUNCパス名を操作できます。
path) |
normpath(join(os.getcwd(), path))
と同じ結果になります。
バージョン 1.5.2 で 新たに追加 された仕様です。
path) |
split(path)
で返されるペアの2番目の要素です。
この関数が返す値はUnixの basenameとは異なります;
Unixのbasenameは'/foo/bar/'
に対して
'bar'
を返しますが、basename()は空文字列(''
)
を返します。
list) |
''
)を返します。
これは一度に1文字を扱うため、不正なパスを返すことがあるかもしれませんの
で注意して下さい。
path) |
split(path)
で返されるペアの最初の要素です。
path) |
True
を返します。
壊れたシンボリッックリンクについてはFalse
を返します。
いくつかのプラットフォームでは、
たとえ path が物理的に存在していたとしても、
リクエストされたファイルに対する os.stat() の実行が許可されなければ
この関数が False
を返すことがあります。
path) |
True
を返す。
壊れたシンボリッックリンクについてはTrue
を返します。
os.lstat()がない環境ではexists()と同じです。
バージョン 2.4 で 新たに追加 された仕様です。
path) |
Windows では"~"だけがサポートされ、環境変数HOMEまたは HOMEDRIVEとHOMEPATHの組み合わせで置き換えられます。
もし置き換えに失敗したり、引数のパスがチルダで始まっていなかったら、パス をそのまま返します。
path) |
path) |
path) |
path) |
path) |
path) |
True
を返します。
path) |
path) |
True
を返します。
シンボリックリンクの場合にはその実体をチェックするので、同じパスに対して
islink()とisfile()の両方がTrueを返すことがあ
ります。
path) |
True
を返します。
シンボリックリンクがサポートされていないプラットフォームでは、常に
False
を返します。
path) |
True
を返します:
この関数はpathの親ディレクトリであるpath/..が
pathと異なるデバイス上にあるか、あるいはpath/..と
pathが同じデバイス上の同じi-nodeを指しているかをチェックします--
これによって全てのUnixとPOSIX標準でマウントポイントが検出できま
す。
path1[, path2[, ...]]) |
os.sep
)
が各要素の間に挿入されます。
Windowsでは各ドライブに対してカレントディレクトリがあるので、
os.path.join("c:", "foo")によって、
c:\\fooではなく、ドライブC:上の
カレントディレクトリからの相対パス(c:foo)が返されます。
path) |
path) |
A//B
、
A/./B
、A/foo/../B
が全てA/B
になるようにします。
大文字、小文字は標準化しません(それにはnormcase()を使って下
さい)。
Windowsでは、スラッシュをバックスラッシュに変換します。
パスがシンボリックリンクを含んでいるかによって意味が変わることに注意し
てください。
path) |
path1, path2) |
True
を返
します。
どちらかのパス名でos.stat()の呼び出しに失敗した場合には、例外
が発生します。
利用可能:Macintosh、Unix
fp1, fp2) |
True
を返します。
利用可能:Macintosh、Unix
stat1, stat2) |
True
を返します。
これらのタプルはfstat()、lstat()や
stat()で返されたものでかまいません。
この関数は、samefile()とsameopenfile()で使われるの
と同様なものを背後に実装しています。
利用可能:Macintosh、Unix
path) |
(headとtail)
のペアに分割します。
tailはパスの構成要素の末尾で、headはそれより前の部分です。
tailはスラッシュを含みません;もしpathの最後にスラッシュがあ
れば、tailは空文字列になります。
もしpathにスラッシュがなければ、headは空文字列になります。
pathが空文字列なら、headとtailのどちらも空文字列になり
ます。
headの末尾のスラッシュは、headがルートディレクトリ(1つ以上
のスラッシュのみ)でない限り、取り除かれます。
ほとんど全ての場合、join(head, tail)
の結果が
pathと等しくなります(ただ1つの例外は、複数のスラッシュが
headとtailを分けている時です)。
path) |
(drive,tail)
のペアに分割します。
driveはドライブ名か、空文字列です。
ドライブ名を使用しないシステムでは、driveは常に空文字列です。
全ての場合にdrive + tail
はpathと等しくなりま
す。
バージョン 1.3 で 新たに追加 された仕様です。
path) |
(root, ext)
のペアにします。
root + ext == path
になります。
extは空文字列か1つのピリオドで始まり、多くても1つのピリオドを含
みます。
path) |
(unc, rest)
に分割します。
ここでuncは(r'\\host\mount'
のような)UNCマウントポイント、
そしてrestは(r'\path\file.ext'
のような)パスの残りの部分です。
ドライブ名を含むパスでは常にuncが空文字列になります。
利用可能: Windows。
path, visit, arg) |
(arg, dirname,
names)
を引数として関数visitを呼び出します。
引数dirnameは訪れたディレクトリを示し、引数namesはそのディレ
クトリ内のファイルのリスト(os.listdir(dirname)
で得られる)
です。
関数visitによってnamesを変更して、dirname以下の対象と
なるディレクトリのセットを変更することもできます。例えば、あるディレクト
リツリーだけ関数を適用しないなど。
(namesで参照されるオブジェクトは、delあるいはスライスを
使って正しく変更しなければなりません。)
os.path.islink(file)
とos.path.isdir(file)
で識別して、walk()で必要な操作を実行しなければなりません。
注意: 新たに追加されたos.walk() ジェネレータを 使用すれば、同じ処理をより簡単に行う事ができます。