如何找到指定文件的路径?
我有一个文件,比如说“something.exe”,我想找到这个文件的路径。
我该怎么用Python来做到这一点呢?
6 个回答
9
如果你完全不知道这个文件在哪里,唯一的方法就是从根目录 c:\ 开始找。
import os
for r,d,f in os.walk("c:\\"):
for files in f:
if files == "something.exe":
print os.path.join(r,files)
如果你知道你只在几个地方存放你的 exe 文件,比如 system32 文件夹,那就从那里开始找。你也可以利用 os.environ["PATH"],如果你总是把 .exe 文件放在 PATH 变量中的某个目录里。
for p in os.environ["PATH"].split(";"):
for r,d,f in os.walk(p):
for files in f:
if files == "something.exe":
print os.path.join(r,files)
20
使用 os.path.abspath 可以获取一个标准化的绝对路径版本。
使用 os.walk 可以找到它的位置。
import os
exe = 'something.exe'
#if the exe just in current dir
print os.path.abspath(exe)
# output
# D:\python\note\something.exe
#if we need find it first
for root, dirs, files in os.walk(r'D:\python'):
for name in files:
if name == exe:
print os.path.abspath(os.path.join(root, name))
# output
# D:\python\note\something.exe
23
也许可以用 os.path.abspath()
来解决这个问题:
import os
print os.path.abspath("something.exe")
如果你的 something.exe
不在当前文件夹里,你可以传入任何相对路径,abspath()
会帮你找到它的绝对路径。