2010-08-31 15 views
8

Gibt es eine gemeinsame Zeitsaver, die Leute in Python Interactive Startup scripts setzen? Ich machte eine dämliche, um mir zu helfen, zu wissen, wo ich bin, wenn ich versuche, relative Dateioperationen oder import s zu machen, mit einem Win32-Modul, um den Namen des Konsolenfensters zu ändern.Was ist in Ihrem interaktiven Python-Startup-Skript?

import sys 
import os 
import win32api 
__title_prefix = 'Python %i.%i.%i %s %s' % (sys.version_info[0:4] + 
              (sys.version_info[4] or "",)) 

def __my_chdir(path): 
    __os_chdir(path) 
    win32api.SetConsoleTitle(__title_prefix + " - " + os.getcwd()) 

# replace chdir func 
__os_chdir = os.chdir 
os.chdir = __my_chdir 

os.chdir(r'C:\Scripts') 
+0

Obwohl diese erstaunliche Antworten hat, dass ich mein eigenes Startskript bin hinzufügen, ich habe dies in erster Linie Meinung sein zu schließen gestimmt basierend. – ArtOfWarfare

Antwort

4
# Add auto-completion and a stored history file of commands to your Python 
# interactive interpreter. Requires Python 2.0+, readline. Autocomplete is 
# bound to the Esc key by default (you can change it - see readline docs). 
# 
# Store the file in ~/.pystartup, and set an environment variable to point 
# to it: "export PYTHONSTARTUP=/home/user/.pystartup" in bash. 
# 
# Note that PYTHONSTARTUP does *not* expand "~", so you have to put in the 
# full path to your home directory. 

import atexit 
import os 
import readline 
import rlcompleter 

readline.parse_and_bind("tab: complete") 
historyPath = os.path.expanduser("~/.history.py") 

def save_history(historyPath=historyPath): 
    import readline 
    readline.write_history_file(historyPath) 

if os.path.exists(historyPath): 
    readline.read_history_file(historyPath) 

atexit.register(save_history) 
del os, atexit, readline, rlcompleter, save_history, historyPath 
+0

Unix nur aus dem Blick von http://docs.python.org/library/readline.html –

+3

@Nic was ?! Gibt es Nicht-UNIX-Systeme? :-) – Anycorn

+0

Psh, ich mache Embedded-Entwicklung die meiste Zeit, also ist die Verwendung von * nix praktisch unmöglich für mich, da die überwiegende Mehrheit der Compiler, Programmierer und Debugger alle Windows-Targeting ist. –

4

ich see auch verwenden, ein einfacher auf das Auge Ersatz für dir Python.

from see import see 

Ein Beispiel für den Einsatz von see zu dir Gegensatz folgt:

>>> k = {} 
>>> dir(k) 
['__class__', '__cmp__', '__contains__', '__delattr__', '__delitem__','__doc__', 
'__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', 
'__hash__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__ne__', 
'__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', 
'__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'clear', 'copy', 
'fromkeys', 'get', 'has_key', 'items', 'iteritems', 'iterkeys', 'itervalues', 
'keys', 'pop', 'popitem', 'setdefault', 'update', 'values'] 
>>> see(k) 
    []    in    <    <=    == 
    !=    >    >=    hash()   help() 
    iter()   len()   repr()   str()   .clear() 
    .copy()   .fromkeys()  .get()   .has_key()  .items() 
    .iteritems() .iterkeys()  .itervalues() .keys()   .pop() 
    .popitem()  .setdefault() .update()  .values()