python控制台实现tab补全和清屏的例子

yipeiwu_com7年前Python基础

在shell(bash)下有2个很基本的功能,那就是tab补全,和clear清屏,对于我这种时不时不自觉的就手残要clear清屏一下的人来说,python控制台不能清屏很不爽,经过google的帮忙,找到了解决办法。

执行“man python”可以看到这样一个环境变量:

PYTHONSTARTUP
  If this is the name of a readable file, the Python commands in that file are executed before the first prompt is displayed in interactive mode. The file is executed in the same name space where interactive commands are executed so that objects defined or imported in it can be used without qualification in the interactive session. You can also change the prompts sys.ps1 and sys.ps2 in this file.

在启动python解释器后,会执行环境变量 PYTHONSTARTUP 指向的文件(如果是一个可执行的python脚本的话),就像启动shell会执行~/.bashrc一样。可以写一个隐藏的脚本 .pythonstartup.py 放在自己的用户目录下,并配置PYTHONSTARTUP指向它:

~/.bashrc

  export PYTHONSTARTUP=~/.pythonstartup.py
~/.pythonstartup.py

  import readline, rlcompleter        
  readline.parse_and_bind("tab: complete")                                 
  import os, sys
  def cc() :
    os.system('clear')

这样配置之后,当进入python交互控制台的时候,就可以使用tab补全,并输入”cc()”清屏,在这里顺便import了os和sys,需要使用的时候就不用再import了.当然,还可以配置其他需要预先执行的命令或者语句。

以上这篇python控制台实现tab补全和清屏的例子就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

如何利用python制作时间戳转换工具详解

前言: 时间戳的定义 Unix时间戳(Unix时间戳)或称Unix时间(Unix时间),POSIX时间(POSIX时间),是一种时间表示方式,定义为从格林威治时间1970年01月01日0...

python使用电子邮件模块smtplib的方法

python使用电子邮件模块smtplib的方法

Smptp类定义:smtplib.SMTP(host[,port[,local_hostname[,,timeout]]]),作为SMTP的构造函数,功能是与smtp服务器建立连接,在连...

Python之time模块的时间戳,时间字符串格式化与转换方法(13位时间戳)

Python处理时间和时间戳的内置模块就有time,和datetime两个,本文先说time模块。 关于时间戳的几个概念 时间戳,根据1970年1月1日00:00:00开始按秒计算的偏移...

使用python中的in ,not in来检查元素是不是在列表中的方法

使用python中的in ,not in来检查元素是不是在列表中的方法

如果在列表中返回True ,否则返回False 以上这篇使用python中的in ,not in来检查元素是不是在列表中的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希...

python通过微信发送邮件实现电脑关机

Python 通过微信邮件实现电脑关机,供大家参考,具体内容如下 通过手机微信发送QQ邮件给sina邮箱,然后利用python的pop3定时检查sina邮箱的邮件主题以及邮件来源,并在电...