Python - 没有绝对路径的 Glob

Python - Glob without absolute path

我正在使用 glob 来获取大量图像的成对图像的名称。唯一的问题是我得到了绝对路径,我不想要那个,我只需要图片的名称。我该怎么办?

import glob

A=sorted(glob.glob('/media/test/A*.png'))
B=sorted(glob.glob('/media/test/B*.png'))
NumbSeq=len(A)
for i in range(0,NumbSeq):
  print "\"%s\",\"%s\","%(A[i],B[i])

我明白了:

 "/media/test/A170900_85495.460376.png","/media/test/B170900_85495.460376.png"

我需要那个:

 "A170900_85495.460376.png","B170900_85495.460376.png"

试试这个

os.path.basename(A[i])

这将 return 单独的文件名。

import glob
import os

A=sorted(glob.glob('/media/test/A*.png'))
B=sorted(glob.glob('/media/test/B*.png'))
NumbSeq=len(A)

for i in range(0,NumbSeq):
  print '"%s","%s"'%(os.path.basename(A[i]),os.path.basename(B[i]))

这会给你

"A170900_85495.460376.png","B170900_85495.460376.png"

在打印之前将 AB 中的每个名称传递给 os.path.basename

for i in range(0,NumbSeq):
    print '"%s","%s"'%(os.path.basename(A[i]),os.path.basename(B[i]))

而不是 glob(pathname),使用 glob1(dirname, pattern) 方法获取文件名。

>>> glob.glob1("some_dir", "*.png")
['foo.png', 'bar.png', ...]

>>> glob.glob("some_dir/*.png")
['/home/michael/A_dir/B_dir/some_dir/foo.png',
'/home/michael/A_dir/B_dir/some_dir/bar.png',
...]