如何在结果中仅列出目录中的文件名而没有目录信息?我试过
for file in glob.glob(dir+filetype):
print file
给我结果
/path_name/1.log,/path_name/2.log,....
,但我只需要文件名:1.log
,2.log
等。我不需要结果中的目录信息。有没有一种简单的方法来摆脱路径信息?我不想在结果上加上一些 substr。谢谢!
如何在结果中仅列出目录中的文件名而没有目录信息?我试过
for file in glob.glob(dir+filetype):
print file
给我结果
/path_name/1.log,/path_name/2.log,....
,但我只需要文件名:1.log
,2.log
等。我不需要结果中的目录信息。有没有一种简单的方法来摆脱路径信息?我不想在结果上加上一些 substr。谢谢!
返回 pathname 的基本名称
path
。path
这是通过传递给函数返回的对的第二个元素split()
。注意这个函数的结果与Unixbasename
程序不同;其中basename
对于 '/foo/bar/' 返回 'bar',该basename()
函数返回一个空字符串 ('')。
所以:
>>> os.path.basename('/path_name/1.log,/path_name/2.log')
'2.log'
import os
# Do not use 'dir' as a variable name, as it's a built-in function
directory = "path"
filetype = "*.log"
# ['foo.log', 'bar.log']
[f for f in os.listdir(directory) if f.endswith(filetype[1:])]
你可以做
import os
[file.rsplit(os.path.sep, 1)[1] for file in glob.glob(dir+filetype)]