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 |
相反。你的道路不是绝对的。