2012-09-25 18 views
5

Bir projede çalışırken, komut dosyalarının genellikle sys.path yoluna ekleme ve projemin modüllerini içe aktarma gibi bazı kazan plakası kodları var. Her zaman interaktif tercümanı bir şeyleri hızlıca kontrol etmek için başladığımda, bu kazan-tablası kodunu çalıştırmak için can sıkıcı olur, bu yüzden "interaktif" hale gelmeden önce çalışacak bir yorumlayıcıya bir betik geçirmenin mümkün olup olmadığını merak ediyorum.Python Interactive Interpreter'ın bir betiği yüklemede çalıştırması mümkün mü?

cevap

6

Bu, -i seçeneği kullanılarak yapılabilir. tercüman yardım metni alıntı:

 
-i  : inspect interactively after running script; forces a prompt even 
     if stdin does not appear to be a terminal; also PYTHONINSPECT=x 

Yani tercüman komut çalıştırır, daha sonra interaktif kullanılabilir istemi sonra yürütme yapar.

Örnek:

 
$ python -i boilerplate.py 
>>> print mymodule.__doc__ 
I'm a module! 
>>> 

Bu da çevre değişkeni PYTHONSTARTUP kullanılarak yapılabilir. Örnek: Bu üç bilgi satırları göstermez çünkü

 
$ PYTHONSTARTUP=boilerplate.py python 
Python 2.7.3 (default, Sep 4 2012, 10:30:34) 
[GCC 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.11.00)] on darwin 
Type "help", "copyright", "credits" or "license" for more information. 
>>> print mymodule.__doc__ 
I'm a module! 
>>> 

Ben şahsen eski yöntem tercih, ancak her iki işi olacaktır.

+0

"ipython" da çalışıyor. –

+1

Ayrıca "PYTHONSTARTUP" ortam değişkeni de var. Bunu semiyen ve arkadaşları alarak bir pythonik hesap makinesi kurmak için kullanıyorum. Ayrıca [ekleme sekmesi tamamlama] için yararlıdır (http://docs.python.org/library/rlcompleter.html). –

+0

@JonasWielicki: Cool! Cevabı ekledim. – Hubro

İlgili konular