前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Python变量之PYTHONSTARTUP文件

Python变量之PYTHONSTARTUP文件

作者头像
云深无际
发布2021-07-23 12:53:30
发布2021-07-23 12:53:30
1.1K00
代码可运行
举报
文章被收录于专栏:云深之无迹云深之无迹
运行总次数:0
代码可运行

今天看书看到了说这个变量的事情,仔细研究了一下,还挺水深。

图源Unplash

我们先打开我们的环境变量设置,可以看到这个

这个文件是simplecv这个软件自己注册的,我没有看

代码语言:javascript
代码运行次数:0
运行
复制
C:/SimpleCV1.3/files/opencv/build/python/2.7/;
C:/OpenCV2.3/opencv/build/python/2.7/;

我们给它简单的排版,处理一下

尝试执行一些unix的命令,出现了很多的错误

但是在python的安装命令文件下可以看到exe结尾的安装文件

我们先尝试一下用py打印变量,这个启动变量

代码语言:javascript
代码运行次数:0
运行
复制
import os
print(os.environ['PYTHONSTARTUP'])

可以看到是没有的,我去安装目录下也找了

确实是没有

这里随手看看ipython在哪里

代码语言:javascript
代码运行次数:0
运行
复制
python -m pip install --upgrade pip

遇到神器的错误,可以考虑重装pip

算了,太远了。我们继续说什么是启动文件,就是一个运行交互式解释器之前会自动调用的一个文件,我们可以在这个文件中放入一些我们想再解释器中事先运行的一些代码,比如导入一些经常会用到的一些模块等等。这个文件是在系统变量中用PYTHONSTARTUP指向的文件。就是在打开一个解释器之前要做的事情

写个这个代码,ps1是一级提示符,ps2是二级

放根目录下

加如图所示的变量

加进来

启动一个命令行,可以看到成功


我们继续,如果想在这个文件的里面调用别的的文件呢?

代码语言:javascript
代码运行次数:0
运行
复制
import os
if os.path.isfile('.pythonrc.py'):
    exec(open('.pythonrc.py').read())
else:
    print(os.path.abspath('.'))

先写成这样

再建这样的文件

注意放到这里

有点没有成功,不知道怎么回事

如果你想在别的文件里面用你的文件:

代码语言:javascript
代码运行次数:0
运行
复制
import os
filename = os.environ.get('PYTHONSTARTUP')
if filename and os.path.isfile(filename):
    exec(open(filename).read())
代码语言:javascript
代码运行次数:0
运行
复制
# python startup file
import readline
import rlcompleter
import atexit
import os

# tab completion
readline.parse_and_bind('tab: complete')

# history file
histfile = os.path.join(os.environ['HOMEPATH'], '.pythonhistory')

try:
    readline.read_history_file(histfile)
except IOError:
    pass
atexit.register(readline.write_history_file, histfile)
del os, histfile, readline, rlcompleter

这段代码,可以实现tab补全,shirft+backspace推出等

代码语言:javascript
代码运行次数:0
运行
复制
import rlcompleter
import readline
readline.parse_and_bind("tab: complete")
EOF

这个就是tab补全

代码语言:javascript
代码运行次数:0
运行
复制
pip install pyreadline

正常使用了

代码语言:javascript
代码运行次数:0
运行
复制
https://pypi.org/project/pyreadline/
代码语言:javascript
代码运行次数:0
运行
复制
import rlcompleter
import readline
readline.parse_and_bind("tab: complete")

在运行脚本里面加入这样的话

就成功了

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-07-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 云深之无迹 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档