这里需要os.path.join(dir,filename)吗?

时间:2010-10-15 13:17:03

标签: python path

我正在做一堆Python exercises并且你应该做一个练习。给定一个目录名称,迭代'特殊文件'(包含模式__ \ w + __)并输出它们的绝对路径。

这是我的代码:

def get_special_paths(dir):
  filenames = os.listdir(dir)

  for filename in filenames:
    if re.search(r'__\w+__', filename):
      print os.path.abspath(os.path.join(dir, filename))

我在示例中加入了目录和文件名,但是我不知道需要join()。如果我没有加入文件名+ dir,而只是传递abspath()文件名,那么输出就是相同的。

1 个答案:

答案 0 :(得分:7)

  

如果我没有加入文件名+ dir,而只是传递abspath()文件名,输出就会一样。

仅当dir等于当前工作目录时,情况不一定如此。您需要加入,或get_special_paths不应该参数,而是假设dir = os.getcwd()