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)
如果您绝对不知道它在哪里,则唯一的方法是从根目录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)
| 归档时间: |
|
| 查看次数: |
46145 次 |
| 最近记录: |