python无法获取文件的完整路径名

Python cant get full path name of file

试图钻取我的驱动器上包含子文件夹的目录。当我找到具有文件扩展名的文件时,我需要完整的文件路径。这就是我现在拥有的:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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

这是退回的

1
2
c:\users
ame\desktop\project\file.txt

但是,该file.txt位于

1
2
c:\users
ame\desktop\project\folder1\file.txt


您可能需要将文件名与包含该文件名的目录连接起来:

1
os.path.realpath(os.path.join(root,name))

例如,我刚测试过:

1
2
3
4
5
6
7
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

具有以下目录结构:

1
2
3
4
test
  + foo
  + test2
     + foo

而且工作正常。


用途:

1
os.path.abspath

相反。你的道路不是绝对的。