玩转Python的交互(命令行)模式

news2025/1/23 15:00:21

我喜欢使用Python的交互界面(命令行模式)来运行和调试Python代码。为什么不用PyCharm、VSCode?因为先入为主,加上我的DOS命令行的情结,我第一次安装使用Python就是用这种黑白界面的,平时写代码惯用EmEditor编辑器,保存好后在Python里运行和调试。这种黑白界面无论是文字输出的速度,还是代码的运行效率,都很快!很爽!一直写代码一直爽!本文是我总结的玩转Python交互界面的心得。

1、直接运行 .py 代码

exec(open(r'd:\py\test.py',encoding='utf-8').read())

每次都敲这么长的语句实在不方便,其实只要敲ex再按上键,就能快速调取这一行命令。

能不能每次打开Python时让Python记住我上次运行的.py文件?注意我说的条件:每次打开Python。

可以。在本次运行.py结束以后,按 Ctrl+D(或者输入exit())退出Python。那么下次打开Python,敲ex再按上键,open()里面的文件名就是上次打开的.py路径了。

 

2、清除屏幕显示(相当于DOS的CLS命令)

按Ctrl + L

如需了解更多的快捷键操作,可参考此文:https://jakevdp.github.io/PythonDataScienceHandbook/01.02-shell-keyboard-shortcuts.html

 

3、快速查询运行过的语句

        (1)直接查询最近使用过的语句

按键盘的上、下方向键,逐条查询。

        (2) 按关键词模糊查询

按 Ctrl + R
然后输入某个关键词即可找到最近一次使用该关键词的语句。

 

4、改变界面背景颜色

方法与修改Windows的命令提示符(CMD)颜色一样:点击窗口左上角的Python图标 ——》 属性 ——》 颜色。我喜欢把背景色改为深蓝色,颜色值是:R 0,G 15,B 50。

 

 

5、换更好看的字体

默认的宋体字显得土鳖又寒酸,我推荐安装更纱字库里面的Sarasa Fixed SC,这种等宽字体的“1”、大写字母“I”、小写字母“l”都能分清楚。0字带斜线,充满着DOS时代的怀旧感觉。

 

更纱字体是开源字库,可从这里下载:Releases · be5invis/Sarasa-Gothic · GitHub

在下载页面中我个人推荐下载带有unhinted的ttc版本。更纱字体带有黑体中文字库,而且字体没有了hinting信息,在Win10以上的系统里显示更顺滑,不像微软雅黑那种带有hinting信息导致小字号情况下的高低不平的别扭感觉。

 

6、提示符改为更醒目的颜色

参考来源:

(1)https://www.codementor.io/@arpitbhayani/personalize-your-python-prompt-13ts4kw6za

(2)https://github.com/arpitbbhayani/py-prompts

默认的提示符“>>>”是白色,当屏幕显示信息纷繁复杂时往往找不回上次执行的语句的地方。其实Python的交互界面的提示符可以修改颜色,甚至可以修改样式。

import sys
sys.ps1 = "\033[1;32m>>>\033[0m "
sys.ps2 = "\033[1;31m...\033[0m "

像这样sys.ps1修改“>>>”为绿色 ,sys.ps2修改“...”为红色。

在交互界面里运行上面的修改颜色代码只会对当前有效,下次打开Python的交互界面,颜色又恢复默认的白色,为使它每次都能自动运行修改颜色代码,需要这样做:

(1)把上面的 import sys、sys.ps1……、sys.ps2……的三行代码保存为一个.py文件,文件名为run_me_first.py。

(2)把run_me_first.py文件放在Python的主目录里(如:C:\Python310)

(3)按Win+Pause键(或者进入控制面板的“系统”),然后点击左侧的“高级系统设置”,点击“环境变量”。

 

(4)在“系统变量”下面点击“新建”,创建一个变量名:PYTHONSTARTUP,变量值为刚才保存的.py文件的详细路径和文件名,点击确定。下次运行Python,提示符的颜色就一直生效。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/397047.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MySQL慢查询

2 慢查询 2.1 慢查询介绍 MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中。具体指运行时间超过long_query_time值的SQL&…

软件测试之快速熟悉项目

快速熟悉项目 1、了解项目架构 C/S架构 C/S 代表的是客户端/服务器(client/server),这类软件的使用者需要在本地电脑安装客户端程序,例如:QQ。 优点:安全性高。 缺点:一旦软件有更新,用户需要手动下载&am…

Rust 开发系列PyO3:Rust与Python的联动编程(中)

第三节:对比C语言的Python原生扩展开发模式 C/c编写Python扩展的方法,与Rust大致是相同的,如果不论语言本身的语法带来的繁琐的话,就单纯以开发步骤和模式来看,原生语言写扩展的步骤更为标准和简单。 大致来说&#…

QT入门Item Views之QTreeView

目录 一、QTreeView界面相关 1、布局介绍 二、基本属性功能 1、设置单元格不能编辑 2、一次选中一个item 3、去掉鼠标移动到单元格上的虚线框 4、最后一列自适应 三、代码展示 1、创建模型,导入模型 2、 右键菜单栏 3、双…

深度学习模型训练工作汇报(3.8)

进行数据的初始整理的准备 主要是进行伪序列字典的设置,以及训练数据集的准备。 期间需要的一些问题包括在读取文件信息的时候,需要跳过文件的第一行或者前两行,如果使用循环判断的话,会多进行n次的运算,这是不划算的…

003+limou+HTML——(3)HTML列表

000、前言 列表是网页常见的一种数据排列方式,在HTMl中列表一共有三种:有序列表、无序列表、定义列表(另外“目录列表dir”和“菜单列表menu”已经在HTML5中被废除了,现在都是使用无序列表ul来替代) 001、有序列表&a…

C/C++指针与数组(一)

预备知识 1、数据的存储 2、基本内建类型 1)类型的大小 C offers a flexible standard with some guaranteed minimum sizes, which it takes from C: A short integer is at least 16 bits wide.An int integer is at least as big as short.A long integer is a…

Spring Cloud学习笔记:基础知识

这是本人学习的总结,主要学习资料如下 马士兵教育 目录1、Spring Cloud 简介2、Eureka3、建立Spring Cloud项目3.1、启动Server3.1.1、dependency3.1.2、配置文件3.1.3、Server端启动代码3.2、启动Client3.2.1、dependency3.2.2、配置文件3.3.3、Client端启动代码3…

Go之入门(特性、变量、常量、数据类型)

一、Go语言特性 语法简单并发性。Go语言引入了协程goroutine,实现了并发编程内存分配。Go语言为了解决高并发下内存的分配和管理,选择了tcmalloc进行内存分配(为了并发设计的高性能内存分配组件,使用cache为当前线程提供无锁分配…

电脑自动重启是什么原因?详细解说

案例:电脑自动重启是什么原因? “一台用了一年的电脑,最近使用,每天都会一两次莫名其妙自动重启,看了电脑错误日志,看不懂什么意思,一直找不到答案。有没有高手知道怎么解决这个问题的。” 当…

仿写简单IOC

目录 TestController类: UserService类: 核心代码SpringIOC: Autowired和Component注解 SpringIOCTest 类 ​编辑 总结: TestController类: Component public class TestController {Autowiredprivate UserService userService;public void test…

RocketMQ如何测试

RocketMQ如何测试MQ简介RocketMQRocketMQ测试点MQ简介 MQ:Message Queue,即消息队列,是一种应用程序之间的消息通信,简单理解就是A服务不断的往队列里发布信息,另一服务B从队列中读取消息并执行处理,消息发…

同步、异步ETL架构的比较

背景介绍: 数据的抽取,转换和加载 (ETL, Extract, Transform, Load) 是构建数据仓库过程中最复杂也是至 关重要的一个步骤,我们通常用两种办法来处理 ETL 流程: 一种是异步(Asynchronous) ETL 方式, 也称为文本文件(Flat file)方式。 另外…

华为云平台架构名词解释

名词解释 网络设备 ISW(外网接入交换机):出口交换机,常用于和外网建立静态/BGP路由互联 CSW (内网接入交换机):专线接入(用户内网骨干)交换机,用户自有网络…

一场以数字技术深度影响和改造传统实业的新风口,正在开启

当数字经济的浪潮开始上演,一场以数字技术深度影响和改造传统实业的新风口,正在开启。对于诸多在互联网时代看似业已走入死胡同的物种来讲,可以说是打开了新的天窗。对于金融科技来讲,同样如此。以往,谈及金融科技&…

蓝桥杯-左移右移(2022国赛)

蓝桥杯-左移右移1、问题描述2、解题思路与代码实现2.1 方法一:使用LinkedList双向链表实现(50%)2.2 方法二:使用HashMap左右临界值实现(100%)1、问题描述 小蓝有一个长度为 N 的数组, 初始时从左到右依次是 1,2,3,…N 。 之后小蓝对这个数组进行了 M 次操…

TX2配置RealSense D455相机SDK和ros驱动

TX2配置RealSense D455相机SDK和ros驱动1 SDK安装2 RealSense-ros安装3 bug及解决3.1 realsense-viewer显示usb2.13.2 Could not found ddynamic_reconfigure折腾了两天终于把realsense的驱动装好了,尝试了命令安装,源码安装,前前后后搞了三遍…

12.并发编程

1.并发并发:逻辑流在时间时重叠构造并发程序:进程:每个逻辑控制流是一个进程,由内核调度和维护进程有独立的虚拟地址空间,想要通信,控制流必须使用某种显式的进程间通信机制(IPC)I/O多路复用:程…

Linux - 第6节 - 动态库和静态库

1.静态库与动态库概念 静态库(.a):程序在编译链接的时候把库的代码拷贝到可执行文件中。程序运行的时候将不再需要静态库。动态库(.so):程序在运行的时候才去链接动态库的代码,多个程序共享使用…

【javaEE初阶】第三节.多线程 (进阶篇 ) 死锁

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、"死锁"出现的典型场景二、产生 "死锁" 的必要条件 三、解决 "死锁" 问题的办法 总结前言 今天对于多线程进阶的学习&#…