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

  • Derek Banas

    Derek Banas

    12 AĞUSTOS 2008
  • lane182videos

    lane182video

    6 EKİM 2011
  • RobertDuskin

    RobertDuskin

    12 HAZİRAN 2008