为了账号安全,请及时绑定邮箱和手机立即绑定

如何在python中获取程序的路径?

如何在python中获取程序的路径?

MMMHUHU 2021-03-18 14:10:31
我正在做一个需要打开Chimera的程序,我用以下方法打开它:def generate_files_bat(filename):    f = open(filename, 'w')    text = """echo off SET PATH=%PATH%;"C:\\Program Files (x86)\\Chimera 1.6.1\\bin" chimera colpeps.cmd"""    print >>f, text    f.close()但是我需要找到除Python程序正在运行的计算机以外的Chimera。有什么方法可以在任何计算机上通过python程序搜索路径吗?
查看完整描述

3 回答

?
HUWWW

TA贡献1874条经验 获得超12个赞

一般来说,我认为搜索程序路径并不是一个好主意。想象一下,例如,机器上安装了两个不同的版本。您确定要找到合适的吗?用标准模块ConfigParser解析的配置文件也许是更好的选择?


无论如何,回到您的问题,为了找到文件或目录,您可以尝试使用os.walk,它以递归方式遍历目录树。


这是一个os.walk从生成器调用的示例,允许您收集第一个或所有匹配的文件名。请注意,生成器结果仅基于文件名。如果您需要更高级的过滤(例如,仅保留可执行文件),则可能会使用os.stat()之类的东西来扩展测试。


import os


def fileInPath(name, root):

    for base, dirs, files in os.walk(root):

        if name in files:

            yield os.path.join(base, name)


print("Search for only one result:")

print(next(fileInPath("python", "/home/sylvain")))


print("Display all matching files:")

print([i for i in fileInPath("python", "/home/sylvain")])


查看完整回答
反对 回复 2021-03-30
?
qq_花开花谢_0

TA贡献1835条经验 获得超7个赞

有一个名为Unipath的软件包,可以执行简洁,干净的路径计算。


在这里寻找AbstractPath构造函数


例子:


from unipath import Path

prom_dir = Path(__file__)


查看完整回答
反对 回复 2021-03-30
?
汪汪一只猫

TA贡献1898条经验 获得超8个赞

whichLinux和where适用于Windows。它们都为您提供了可执行文件的路径,前提是该文件位于控制台“搜索”的目录中(因此,对于Windows,它必须位于%PATH%中)。


查看完整回答
反对 回复 2021-03-30
  • 3 回答
  • 0 关注
  • 333 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号