2010-08-31 12 views
8

¿Hay algún ahorro de tiempo común que las personas pongan en Python Interactive Startup scripts? Hice un truco para ayudarme a saber dónde estoy cuando trato de hacer operaciones relativas de archivos o import s, usando un módulo win32 para cambiar el nombre de la ventana de la consola.¿Qué hay en su secuencia de comandos de inicio de Python Interactive?

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

Aunque esto no tiene respuestas sorprendentes que estoy añadiendo a mi propio script de inicio, he votado para cerrar esta por ser principalmente opinión basado. – ArtOfWarfare

Respuesta

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 solo desde el aspecto de http://docs.python.org/library/readline.html –

+3

@Nic ¿qué? Hay sistemas que no son UNIX allí? :-) – Anycorn

+0

Psh, hago el desarrollo incrustado la mayor parte del tiempo, por lo que usar * nix es prácticamente imposible para mí, ya que la gran mayoría de los compiladores, programadores y depuradores son todos objetivos de Windows. –

4

También uso see, una más fácil en el ojo para el reemplazo dir de Python.

from see import see 

Un ejemplo de uso de see en contraposición a dir sigue:

>>> 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() 
Cuestiones relacionadas