大发体育娱乐在线-大发体育娱乐官方网站-大发体育娱乐登录网址
做最好的网站

python实现定制交互式命令行的方法

来源:http://www.dfwstonefabricators.com 作者:关于计算机 人气:180 发布时间:2019-09-24
摘要:Python的交互式命令行可通过运维文件来安插。 当Python运行时,会招来景况变量PYTHONSTARTUP,何况实施该变量中所钦赐文件里的程序代码。该钦点文件名称以及地点能够是即兴的。按Tab键时

Python的交互式命令行可通过运维文件来安插。

当Python运行时,会招来景况变量PYTHONSTARTUP,何况实施该变量中所钦赐文件里的程序代码。该钦点文件名称以及地点能够是即兴的。按Tab键时会自动补全内容和指令历史。那对命令行的有效进步,而那个工具则是依赖readline模块完成的(那需求readline程序库扶助完毕)。

此地为大家举叁个简练的运维脚本文件例子,它为python命令行增加了开关自动补全内容和历史命令功效。

[python@python ~]$ cat .pythonstartup
import readline
import rlcompleter
import atexit
import os
#tab completion
readline.parse_and_bind('tab: complete')
#history file
histfile = os.path.join(os.environ['HOME'], '.pythonhistory')
try:
  readline.read_history_file(histfile)
except IOError:
  pass
atexit.register(readline.write_history_file,histfile)
del os,histfile,readline,rlcompleter

安装景况变量

[python@python ~]$ cat .bash_profile|grep PYTHON
export PYTHONSTARTUP=/home/python/.pythonstartup

验证Tab键补全和历史命令查看。

[python@python ~]$ python
Python 2.7.5 (default, Oct 6 2013, 10:45:13)
[GCC 4.1.2 20080704 (Red Hat 4.1.2-44)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import md5
>>> md5.
md5.__class__(     md5.__getattribute__( md5.__reduce__(    md5.__subclasshook__(
md5.__delattr__(    md5.__hash__(     md5.__reduce_ex__(   md5.blocksize
md5.__dict__      md5.__init__(     md5.__repr__(     md5.digest_size
md5.__doc__      md5.__name__      md5.__setattr__(    md5.md5(
md5.__file__      md5.__new__(      md5.__sizeof__(    md5.new(
md5.__format__(    md5.__package__    md5.__str__(      md5.warnings
>>> import os
>>> import md5

瞩目:假使在make的时候出现:

Python build finished, but the necessary bits to build these modules were not found:
_tkinter            gdbm      readline      sunaudiodev

设若对此忽略了的话,import readline会报错。表示不曾点有名的模特块!

这里是缺少内定包:

redhat:   readline-devel.xxx.rpm

安装上海重机厂复编写翻译实施,难题就可以获打消除。

本文由大发体育娱乐在线发布于关于计算机,转载请注明出处:python实现定制交互式命令行的方法

关键词:

上一篇:02对角线格子,同行列对角线的格子

下一篇:没有了

最火资讯