减少Python中的路径名

时间:2019-09-17 20:13:12

标签: python glob

这是我当前的代码:

directory = "C:/Users/test/Desktop/test/sign off img"
choices = glob.glob(os.path.join(directory, "*.jpg"))
print(choices)

这将为我返回该特定文件夹内所有.JPG文件的每个路径。

作为示例,这是当前上面的代码的输出:

['C:/Users/test/Desktop/test/sign off img\\SFDG001 0102400OL - signed.jpg', 'C:/Users/test/Desktop/test/sign off img\\SFDG001 0102400OL.jpg']

如何获取仅返回路径结尾的输出?

这是我的愿望结局:

['SFDG001 0102400OL - signed.jpg', 'SFDG001 0102400OL.jpg']

相同的路径,但只返回结尾字符串。

2 个答案:

答案 0 :(得分:1)

您可以使用os.listdir函数:

>>> import os
>>> files = os.listdir("C:/Users/test/Desktop/test/sign off img")
>>> filtered_files = [file for file in files if 'signed' in file]

如您在文档中所见,os.listdir使用当前目录作为默认参数,即,如果您不传递值。否则,它将使用您传递给它的路径。

答案 1 :(得分:0)

我建议大部分时间在pathlib.Path上使用os。试试这个,例如:

from pathlib import Path

directory = Path("C:/Users/test/Desktop/test/sign off img")
choices = [path.name for path in directory.glob("*.jpg")]