2010-08-31 10 views
8

Czy są jakieś częste momenty, które ludzie wprowadzają w Python Interactive Startup scripts? Zrobiłem dureń, który pomógł mi dowiedzieć się, gdzie jestem, kiedy próbuję wykonać względne operacje na plikach lub import s, używając modułu win32 do zmiany nazwy okna konsoli.Co zawiera skrypt Python Interactive Startup Script?

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

Chociaż ten ma niesamowite odpowiedzi, które dodaję do mojego skryptu startowego, głosowałem, aby zamknąć to za to, że przede wszystkim opinia na podstawie. – ArtOfWarfare

Odpowiedz

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 tylko z wyglądu http://docs.python.org/library/readline.html –

+3

@Nic co ?! Są tam systemy inne niż UNIX? :-) – Anycorn

+0

Psh, ja zajmuję się programowaniem embedded przez większość czasu, więc używanie * nix jest praktycznie niemożliwe, ponieważ większość kompilatorów, programistów i debuggerów jest ukierunkowana na Windows. –

4

Używam również see, łatwiejszy w sprawie zastąpienia oczu dla Pythona reż.

from see import see 

Przykładem wykorzystania see w przeciwieństwie do dir następująco:

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