在Python 3中获取目录中所有文件的路径(但不是绝对路径)

时间:2020-04-03 05:05:41

标签: python python-3.x file operating-system

我有一个目录 DATA ,其中包含几个子目录,并且在每个子目录中,都有更多的目录和文件。

这是我的代码:

for dirpath,subs,filenames in os.walk("/Users/.../DATA"):
   for f in filenames:
       print(os.path.abspath(os.path.join(dirpath, f)))

此代码输出的结果是绝对目录(例如“ / Users /.../ Data / SubFile / SubFile.txt”)

我想要的结果是(例如“ Data / SubFile / Subfile.txt”)

2 个答案:

答案 0 :(得分:1)

像这样简单的事情呢?

dir_path = "/Users/.../DATA"

for dirpath,subs,filenames in os.walk("/Users/.../DATA"):
   for f in filenames:
       print(os.path.abspath(os.path.join(dirpath, f))[len(dir_path):])

答案 1 :(得分:0)

使用os.path.commonprefix()

common_prefix = os.path.commonprefix(["/Users/.../DATA"])
for dirpath, subs, filenames in os.walk("/Users/.../DATA"):
    for f in filenames:
        print(os.path.relpath(os.path.join(dirpath, f), common_prefix))

相关问题