第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

測(cè)試Python中是否存在可執(zhí)行文件?

測(cè)試Python中是否存在可執(zhí)行文件?

紅糖糍粑 2019-10-14 14:23:10
在Python中,是否有一種可移植且簡(jiǎn)單的方法來測(cè)試可執(zhí)行程序是否存在?簡(jiǎn)單地說,我的意思是像which命令這樣的東西,將是完美的。我不想手動(dòng)搜索PATH或涉及嘗試使用Popen&al 執(zhí)行它的嘗試,以查看它是否失?。ㄟ@就是我現(xiàn)在正在做的,但是可以想象是launchmissiles)
查看完整描述

3 回答

?
慕的地8271018

TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超4個(gè)贊

我想到的最簡(jiǎn)單的方法:


def which(program):

    import os

    def is_exe(fpath):

        return os.path.isfile(fpath) and os.access(fpath, os.X_OK)


    fpath, fname = os.path.split(program)

    if fpath:

        if is_exe(program):

            return program

    else:

        for path in os.environ["PATH"].split(os.pathsep):

            exe_file = os.path.join(path, program)

            if is_exe(exe_file):

                return exe_file


    return None

編輯:更新了代碼示例,以包括用于處理邏輯的情況,其中所提供的參數(shù)已經(jīng)是可執(zhí)行文件的完整路徑,即“ which / bin / ls”。這模仿了UNIX“哪個(gè)”命令的行為。


編輯:更新為每個(gè)注釋使用os.path.isfile()而不是os.path.exists()。


編輯:path.strip('"')似乎在這里做錯(cuò)了。Windows和POSIX都似乎不鼓勵(lì)引用PATH項(xiàng)目。


查看完整回答
反對(duì) 回復(fù) 2019-10-14
?
肥皂起泡泡

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超6個(gè)贊

我知道這是一個(gè)古老的問題,但是您可以使用distutils.spawn.find_executable。自python 2.4起已被記錄下來,自python 1.6起就已存在。


import distutils.spawn

distutils.spawn.find_executable("notepad.exe")

此外,Python 3.3現(xiàn)在提供了shutil.which()。


查看完整回答
反對(duì) 回復(fù) 2019-10-14
  • 3 回答
  • 0 關(guān)注
  • 689 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)