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


Posted in Python onAugust 20, 2019

在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的几种开发工具介绍
Mar 07 Python
python中set常用操作汇总
Jun 30 Python
Python正确重载运算符的方法示例详解
Aug 27 Python
hmac模块生成加入了密钥的消息摘要详解
Jan 11 Python
python 拷贝特定后缀名文件,并保留原始目录结构的实例
Apr 27 Python
Python 实现某个功能每隔一段时间被执行一次的功能方法
Oct 14 Python
Python UnboundLocalError和NameError错误根源案例解析
Oct 31 Python
python远程调用rpc模块xmlrpclib的方法
Jan 11 Python
python函数修饰符@的使用方法解析
Sep 02 Python
使用python实现名片管理系统
Jun 18 Python
基于Django集成CAS实现流程详解
Nov 28 Python
基于PyQt5制作一个群发邮件工具
Apr 08 Python
关于python字符串方法分类详解
Aug 20 #Python
python+tkinter实现学生管理系统
Aug 20 #Python
Python对列表的操作知识点详解
Aug 20 #Python
python中的global关键字的使用方法
Aug 20 #Python
python并发编程 Process对象的其他属性方法join方法详解
Aug 20 #Python
浅谈pytorch grad_fn以及权重梯度不更新的问题
Aug 20 #Python
解决Pytorch 训练与测试时爆显存(out of memory)的问题
Aug 20 #Python
You might like
也谈截取首页新闻 - 范例
2006/10/09 PHP
php开发环境配置记录
2011/01/14 PHP
讲解WordPress中用于获取评论模板和搜索表单的PHP函数
2015/12/28 PHP
thinkphp制作404跳转页的简单实现方法
2016/09/22 PHP
详解EventDispatcher事件分发组件
2016/12/25 PHP
thinkphp5实现微信扫码支付
2019/12/23 PHP
IE6 弹出Iframe层中的文本框“经常”无法获得输入焦点
2009/12/27 Javascript
js 获取Listbox选择的值的代码
2010/04/15 Javascript
jQuery布局插件UI Layout简介及使用方法
2013/04/03 Javascript
js数组的基本用法及数组根据下标(数值或字符)移除元素
2013/10/20 Javascript
window resize和scroll事件的基本优化思路
2014/04/29 Javascript
让人蛋疼的JavaScript语法特性
2014/09/30 Javascript
封装好的js判断操作系统与浏览器代码分享
2015/01/09 Javascript
JavaScript Function函数类型介绍
2015/04/08 Javascript
JavaScript、C# URL编码、解码总结
2017/01/21 Javascript
bootstrap table动态加载数据示例代码
2017/03/25 Javascript
微信JS-SDK选取手机照片上传功能
2017/04/21 Javascript
分分钟学会vue中vuex的应用(入门教程)
2017/09/14 Javascript
解读ES6中class关键字
2017/11/20 Javascript
基于vue.js实现的分页
2018/03/13 Javascript
Angular 2使用路由自定义弹出组件toast操作示例
2019/05/10 Javascript
微信小程序 调用微信授权窗口相关问题解决
2019/07/25 Javascript
微信小程序官方动态自定义底部tabBar的例子
2019/09/04 Javascript
详细分析vue表单数据的绑定
2020/07/20 Javascript
antd form表单数据回显操作
2020/11/02 Javascript
python 获取list特定元素下标的实例讲解
2018/04/09 Python
Python使用itertools模块实现排列组合功能示例
2018/07/02 Python
解决Python中定时任务线程无法自动退出的问题
2019/02/18 Python
python二元表达式用法
2019/12/04 Python
python实现名片管理器的示例代码
2019/12/17 Python
Python turtle库的画笔控制说明
2020/06/28 Python
python matplotlib库的基本使用
2020/09/23 Python
迪卡侬荷兰官网:Decathlon荷兰
2017/10/29 全球购物
房产公证书范本
2014/04/10 职场文书
共产党员岗位承诺书
2014/05/29 职场文书
我在伊朗长大观后感
2015/06/16 职场文书