Python交互式启动脚本中有什么?

时间:2010-08-31 21:37:59

标签: python startup interactive

人们放入Python Interactive Startup scripts是否有共同的时间表?当我尝试进行相对文件操作或import时,我使用win32模块来更改控制台窗口的名称,这让我知道我在哪里。

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

3 个答案:

答案 0 :(得分:5)

我也使用see,更容易替换Python的目录。

from see import see

使用see而不是dir的示例如下:

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

答案 1 :(得分: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

答案 2 :(得分:1)