如何找到指定文件的路径?

12 投票
6 回答
110368 浏览
提问于 2025-04-15 12:53

我有一个文件,比如说“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() 会帮你找到它的绝对路径。

撰写回答