2015-04-06 7 views
0

У меня есть следующий код для печати имени файла, который определяет критерии с расширением * .org. Как я могу напечатать относительный путь найденного файла. Заранее спасибопоиск имени файла с расширением и печать его относительного пути

def get_filelist() : 

directory = "\\\\networkpath\\123\\abc\\" 
filelist = [] 
for root, dirs, files in os.walk(directory): 
    for file in files: 
     if file.endswith('Org'): 
      print(str(dirs) +"\\" + str(file)) #prints empty list [] followed by filename 
      filelist.append(os.path.splitext(file)[0]) 

return (filelist) 

Пожалуйста, мне, как новичку в питоне

ответ

0

files и dirs список дети root. dirs таким образом перечислены братья и сестры file. Вы хотите напечатать вместо этого:

print(os.path.relpath(os.path.join(root, file))) 
+0

Спасибо .. но можете ли вы рассказать мне, как получить относительный путь файла – Debianeese

+0

Вы можете использовать 'os.path.relpath', чтобы найти относительный путь из текущего рабочего каталога. https://docs.python.org/3.4/library/os.path.html?highlight=os.walk#os.path.relpath –

0

вам нужно использовать os.path.join:

def get_filelist() : 

    directory = "\\\\networkpath\\123\\abc\\" 
    filelist = [] 
    for root, dirs, files in os.walk(directory): 
     for file in files: 
      if file.endswith('org'): # here 'org' will be in small letter 
       print(os.path.join(root,file)) 
       filelist.append(os.path.join(root,file)) 

    return filelist 
+0

Dirs список, не является каталог –

+0

типа ошибки, он должен быть корнем здесь – Hackaholic

+0

@ThomWiggers обновить пост :) – Hackaholic