9

結果にディレクトリ情報がなくても、ディレクトリ内のファイル名のみを一覧表示するにはどうすればよいですか? 私は試した

for file in glob.glob(dir+filetype):
    print file

結果 /path_name/1.log,/path_name/2.log,.... が得られますが、必要なのはファイル名のみです: 1.log2.logなど。結果にディレクトリ情報は必要ありません。パス情報を取り除く簡単な方法はありますか? 私は結果にいくつかのsubstrをしたくありません。ありがとうございました!

4

3 に答える 3

26

os.path.basename:

pathname のベース名を返しpathます。pathこれは、関数に渡すことによって返されるペアの 2 番目の要素ですsplit()basenameこの関数の結果は、Unixプログラムとは異なることに注意してください。'/foo/bar/'がbasename'bar' をbasename()返す場合、関数は空の文字列 ('') を返します。

そう:

>>> os.path.basename('/path_name/1.log,/path_name/2.log')
'2.log'
于 2013-04-18T18:43:09.567 に答える
1

できるよ

import os
[file.rsplit(os.path.sep, 1)[1] for file in glob.glob(dir+filetype)]
于 2013-04-18T18:41:01.537 に答える