違いは何であるos.path.basename()とはos.path.dirname()?
私はすでに回答を検索していくつかのリンクを読みましたが、理解できませんでした。誰でも簡単に説明できますか?
違いは何であるos.path.basename()とはos.path.dirname()?
私はすでに回答を検索していくつかのリンクを読みましたが、理解できませんでした。誰でも簡単に説明できますか?
回答:
どちらの関数も関数を使用してos.path.split(path)、パス名pathをペアに分割します。(head, tail)。
このos.path.dirname(path)関数は、パスの先頭を返します。
例:のdirnameは'/foo/bar/item'です'/foo/bar'。
os.path.basename(path)この関数は、パスの末尾を返します。
例:'/foo/bar/item'返品のベース名'item'
送信元:http : //docs.python.org/2/library/os.path.html#os.path.basename
os.path.basename(os.path.dirname(path))
'foo.bar'、およびos.path.dirname(file_name)は空の文字列を返します:''。
上記のブレノによって述べられたことを要約する
ファイルへのパスを持つ変数があるとします
path = '/home/User/Desktop/myfile.py'
os.path.basename(path) 文字列を返します 'myfile.py'
そして
os.path.dirname(path)文字列を返します'/home/User/Desktop'(末尾のスラッシュ '/'なし)
これらの関数は、フルパス名を指定してファイル名/ディレクトリ名を取得する必要がある場合に使用されます。
ファイルパスがファイル名だけの場合(たとえば、path = '/home/User/Desktop/myfile.py'単にを持っている代わりにmyfile.py)、os.path.dirname(path)空の文字列を返します。
itemとitem/、がos.path.split('foo/bar/item/')返されることに注意してください('foo/bar/item', '')。