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

  • Benjamin Heckendorn

    Benjamin Hec

    4 Mayıs 2008
  • pendrop gaming

    pendrop gami

    4 ŞUBAT 2013
  • Stevie

    Stevie

    2 Mayıs 2010