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

hel*_*hod 4 python path

我只是在做一堆Python练习,你应该做一个练习.给定一个目录名称,迭代'特殊文件'(包含模式__\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))
Run Code Online (Sandbox Code Playgroud)

我在示例中加入了dir和filename,但是我不知道在需要join()的时候.如果我没有加入文件名+ dir,而只是传递abspath()文件名,输出将是相同的.

Pi *_*ort 7

如果我没有加入文件名+ dir,而只是传递abspath()文件名,输出将是相同的.

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