python交互模式下命令tab补全

发布时间:2019-09-07 08:11:32编辑:auto阅读(1621)

    python默认就可以进行tab补全命令行,在交互模式下,只要自己写个小小的tab.py模块即可;实现代码如下;

    #!/bin/env python 
    # -*- coding: utf-8 -*-
    # python startup file 
    import sys
    import readline
    import rlcompleter
    import atexit
    import os
    import platform
    # tab completion 
    readline.parse_and_bind('tab: complete')
    ## 此为增加历史命令记录到文件,在各自的家目录下,如果不需要记录日志可删除
    if platform.system() == 'Windows':
        # history file ,os.environ获取用户的家目录,此为win10的,win7系统可能需要改下(自己看下os.environ的key)
        histfile = os.path.join(os.environ['USERPROFILE'], '.pythonhistory')
    else:
        # history file ,os.environ获取用户的家目录
        histfile = os.path.join(os.environ['HOME'], '.pythonhistory')
    ## end for history###
    try:
        readline.read_history_file(histfile)
    except IOError:
        pass
    atexit.register(readline.write_history_file, histfile)
    del os, histfile, readline, rlcompleter

    将以上代码复制出来保存到一个py文件中(自己定义名字,等下需要在交互下导入此模块),放入到你自己的py环境中搜索路径下即可

    启动python交互

    import xxx

    然后你导入任意一个模块进行测试


    如何你向在python启动的时候自动导入此模块定义下PYTHONSTARTUP环境变量将此模块加入到此环境变量中即可

        如果是windows系统的话,在自己的用户变量中定义(我的电脑==>属性==>高级==>环境变量==>用户变量)

       PYTHONSTARTUP 对应的值就是你刚才保存模块的路径即可

       如果你是linux的话,在自己的用户变量环境(/root/.bash_profile,或者全局变量中/etc/profile中加入export PYTHONSTARTUP=/xxx/xx/xx.py)中export模块的路径即可

       重载环境变量(重新登录下)即可测试


关键字