Python获取作为参数传递的文件夹中文件的完整路径

时间:2016-12-06 21:59:25

标签: python filepath os.path

我的目标是能够解析包含多个图像的文件夹并获取它们的绝对路径,以便我可以将它们加载到OpenCV中。

传入包含未知数量图像的单个文件夹。

#FilePass.py

import os
import cv2
import argparse
ap = argparse.ArgumentParser()
ap.add_argument("-1", "--first", required=True)
args = vars(ap.parse_args())
imagesToStitch = os.listdir(args["first"])
for image in imagesToStitch:
    print os.path.abspath(image)

这是使用正在使用的文件夹的文件路径执行的命令。

# python FilePass.py --first C:\Users\cradford\Documents\Research\ImagesToPass\Pass1

包含的图像及其对应的完整文件路径为:

_001.jpg # "C:\Users\cradford\Documents\Research\ImagesToPass\Pass1"
_002.jpg # "C:\Users\cradford\Documents\Research\ImagesToPass\Pass1"

期望的输出:

C:\Users\cradford\Documents\Research\ImagesToPass\Pass1\_001.jpg
C:\Users\cradford\Documents\Research\ImagesToPass\Pass1\_002.jpg

使用代码输出:

C:\Users\cradford\Documents\Research\OpenCV Practice Files\_001.jpg
C:\Users\cradford\Documents\Research\OpenCV Practice Files\_002.jpg

我很确定结果显示“OpenCV Practice Files”的差异是因为它在我的for循环中查看“image”的abs.path并且代码文件保存在“OpenCV Practice Files”中。 任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:2)

您可能想要使用os.path.join

for image in imagesToStitch:
    print os.path.join(args["first"], image)