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

  • AndyMcMillinTV

    AndyMcMillin

    6 HAZİRAN 2007
  • David MeShow

    David MeShow

    10 EKİM 2006
  • DONFANTASTICKYPESS

    DONFANTASTIC

    1 Temmuz 2007