SORU
18 Aralık 2008, PERŞEMBE


Eğer çalıştırılabilir Python varsa Test?

Python, eğer çalıştırılabilir bir program varsa test etmek için taşınabilir ve basit bir yolu var mı?

Basit 'which' sadece mükemmel olan komut. gibi bir şey yani İstemiyorum arama YOLU elle falan karıştığı çalışıyor yürütmek Popen & al ve eğer başarısız (o an yapıyorum, ama hayal launchmissiles)

CEVAP
18 Aralık 2008, PERŞEMBE


En kolay aklıma şekilde

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):
            path = path.strip('"')
            exe_file = os.path.join(path, program)
            if is_exe(exe_file):
                return exe_file

    return None

Edit: Verilen argüman zaten çalıştırılabilir dosyanın tam yolunu olduğu durumda taşıma mantık eklemek için kod örneği güncellenmiş, yani "/bin/ls". Bu UNIX davranışını taklit' komutu."

EditKullanın : işletim sistemi güncellenmiş.yol.() isfile os yerine.yol.() var yorum başına.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Ammine Getahun

    Ammine Getah

    21 HAZİRAN 2011
  • stewmurray47

    stewmurray47

    1 Kasım 2006
  • The Verge

    The Verge

    8 AĞUSTOS 2006