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

6 python

我有一个文件,例如"something.exe",我想找到这个文件的路径
我怎么能在python中做到这一点?

Gre*_*ill 12

也许os.path.abspath()会这样做:

import os
print os.path.abspath("something.exe")
Run Code Online (Sandbox Code Playgroud)

如果您something.exe不在当前目录中,则可以传递任何相对路径并abspath()解析它.


sun*_*ang 11

使用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
Run Code Online (Sandbox Code Playgroud)


gho*_*g74 5

如果您绝对不知道它在哪里,则唯一的方法是从根目录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)
Run Code Online (Sandbox Code Playgroud)

否则,如果您知道存储exe的地方很少,例如system32,则从那里开始查找它。如果您始终将.exe放在PATH变量中的那些目录之一中,也可以使用os.environ [“ 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)
Run Code Online (Sandbox Code Playgroud)