SORU
27 Temmuz 2009, PAZARTESİ


Başka bir python betiği python betiği çağırmak için en iyi yolu nedir?

Bir komut dosyası bir modül değil test1.py ismini verdim. Sadece programın kendisini çalıştırmak yürütülecek gereken kod var. Fonksiyonlar, sınıflar, yöntemler vb yok. Bir hizmet olarak çalışan bir komut dosyası var. Komut dosyasından test1.py bir hizmet olarak çalışan aramak istiyorum.

örneğin:

test1.py

print "I am a test"
print "see! I do nothing productive."

service.py

# lots of stuff here
test1.py # do whatever is in test1.py

Dosya açma, içeriğini okuma ve temelde eval para olan bir yöntem biliyorum. Bunu yapmanın daha iyi bir yolu vardır sanıyorum. Ya da en azından öyle umuyorum.

CEVAP
27 Temmuz 2009, PAZARTESİ


Bunu yapmak için her zamanki gibi aşağıdaki gibi bir şey.

test1.py

def some_func():
    print 'in test 1, unproductive'

if __name__ == '__main__':
    # test1.py executed as script
    # do something
    some_func()

service.py

import test1

def service_func():
    print 'service func'

if __name__ == '__main__':
    # service.py executed as script
    # do something
    service_func()
    test1.some_func()

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • kylelandry

    kylelandry

    9 AĞUSTOS 2007
  • MaximumPCMag

    MaximumPCMag

    23 Temmuz 2010
  • TomOdellVEVO

    TomOdellVEVO

    29 Mayıs 2012