2012-09-25 5 views
5

Wenn ich an einem Projekt arbeite, haben meine Skripte oft einen Boiler-Plate-Code, wie das Hinzufügen von Pfaden zu sys.path und das Importieren der Module meines Projekts. Es wird mühsam, diesen Kachelcode jedes Mal zu starten, wenn ich den interaktiven Interpreter starte, um etwas schnell zu überprüfen, also frage ich mich, ob es möglich ist, dem Interpreter ein Skript zu übergeben, bevor es "interaktiv" wird.Ist es möglich, den Interactive Interpreter von Python dazu zu bringen, ein Skript beim Laden auszuführen?

Antwort

6

Dies kann mit der Option -i erfolgen. Zitieren des Interpreter-Hilfetextes:

Der Interpreter führt das Skript aus und stellt die interaktive Eingabeaufforderung nach der Ausführung zur Verfügung.

Beispiel:

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

Dies kann auch die Umgebungsvariable PYTHON Verwendung erfolgen. Beispiel:

 
$ 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! 
>>> 

Ich persönlich bevorzuge die erste Methode, da sie nicht die drei Zeilen der Information nicht zeigen, aber entweder wird der Job erledigen.

+0

funktioniert auch in 'ipython'. –

+1

Es gibt auch die Umgebungsvariable '' PYTHONSTARTUP''. Ich benutze dies, um einen Python-Rechner einzurichten, indem ich sympy et al. Auch hilfreich bei [Tab-Vervollständigung hinzufügen] (http://docs.python.org/library/rlcompleter.html). –

+0

@JonasWielicki: Cool! Fügte es der Antwort hinzu. – Hubro

Verwandte Themen