尝试浏览我的驱动器中包含子扩展名的目录。当我找到具有我正在寻找的文件扩展名的文件时,我想要完整的文件路径。现在这就是我所拥有的:
import os
import Tkinter
import tkFileDialog
from Tkinter import Tk
from tkFileDialog import askopenfilename
root = Tkinter.Tk().withdraw()
dirname = tkFileDialog.askdirectory(initialdir='.')
list = []
for root, dirs, files in os.walk(dirname):
for name in files:
if name.find(".txt") != -1:
name = str(name)
name = os.path.realpath(name)
list.append(name)
print list
返回
c:\users\name\desktop\project\file.txt
然而,file.txt位于
c:\users\name\desktop\project\folder1\file.txt
答案 0 :(得分:8)
您可能需要将文件名加入包含它的目录:
os.path.realpath(os.path.join(root,name))
e.g。我刚试过这个:
import os
for root, dirs, files in os.walk('.'):
for name in files:
if name == 'foo':
name = str(name)
name = os.path.realpath(os.path.join(root,name))
print name
具有以下目录结构:
test
+ foo
+ test2
+ foo
它运作正常。
答案 1 :(得分:0)
使用:
os.path.abspath
代替。你的道路并不是绝对的。