返回顶部
首页 > 资讯 > 后端开发 > Python >IPython 8.0 Python 命令行交互工具
  • 707
分享到

IPython 8.0 Python 命令行交互工具

2024-04-02 19:04:59 707人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

目录1.追溯改进2.自动建议3.使用“?”和"??"查看对象信息4.历史范围全局功能前言: Ipython 是 Python 的原生交互式

前言:

Ipython Python 的原生交互式 shell 的增强版,可以完成许多不同寻常的任务,比如帮助实现并行化计算;主要使用它提供的交互性帮助,比如代码着色、改进了的命令行回调、制表符完成、宏功能以及改进了的交互式帮助。

IPython 8.0 酝酿了许久,主要对现有代码库和几个新功能进行了改进。新功能包括在 CLI 中使用 Black 重新格式化代码、ghost 建议以及突出错误节点的更好的回溯,从而使复杂的表达式更易于调试。

1.追溯改进

之前的错误回溯显示一个散列表(hash),用于编译 Python AST:

In [1]: def foo():
...:     return 3 / 0
...:

In [2]: foo()
---------------------------------------------------------------------------
ZeroDivisionError                         Traceback (most recent call last)
<ipython-input-2-c19b6d9633cf> in <module>
----> 1 foo()

<ipython-input-1-1595a74c32d5> in foo()
    1 def foo():
----> 2     return 3 / 0
    3

ZeroDivisionError: division by zero

现在错误回溯的格式正确,会显示发生错误的单元格编号:

In [1]: def foo():
...:     return 3 / 0
...:

Input In [2]: foo()
---------------------------------------------------------------------------
ZeroDivisionError                         Traceback (most recent call last)
input In [2], in <module>
----> 1 foo()

Input In [1], in foo()
    1 def foo():
----> 2     return 3 / 0

ZeroDivisionError: division by zero

第二个回溯改进是stack_data 包的集成;在回溯中提供更智能的信息;它会突出显示发生错误的 AST 节点,这有助于快速缩小错误范围,比如:

def foo(i):
    x = [[[0]]]
    return x[0][i][0]


def bar():
    return foo(0) + foo(
        1
    ) + foo(2)

调用 bar() 会在 IndexError 的返回行上引发一个 foo,IPython 8.0 可以告诉你索引错误发生在哪里:

IndexError
Input In [2], in <module>
----> 1 bar()
        ^^^^^

Input In [1], in bar()
      6 def bar():
----> 7     return foo(0) + foo(
                            ^^^^
      8         1
         ^^^^^^^^
      9     ) + foo(2)
         ^^^^

Input In [1], in foo(i)
      1 def foo(i):
      2     x = [[[0]]]
----> 3     return x[0][i][0]
                   ^^^^^^^

用 ^ 标记的位置在终端会高亮显示。

第三个回溯改进是最谨慎的,但对生产力有很大影响,在回溯中的文件名后面附加一个冒号 :: 和行号:

ZeroDivisionError               Traceback (most recent call last)
File ~/error.py:4, in <module>
      1 def f():
      2     1/0
----> 4 f()

File ~/error.py:2, in f()
      1 def f():
----> 2     1/0

许多终端和编辑器具有的集成功能,允许在使用此语法时 直接跳转到错误相关的文件/行 。

2.自动建议

Ptpython 允许用户在ptpython/config.py 中启用自动建议功能,此功能包含丰富的代码补全建议,

如图:

目前,自动建议仅在 emacs 或 vi 插入编辑模式中显示:

ctrl ectrl falt f 快捷键默认在 eMacs 模式下工作。
要在 vi 插入模式下使用这些快捷键,必须在 config.py 中创建自定义键绑定。

3.使用“?”和"??"查看对象信息

在 IPDB 中,现在可以使用“?”和”? ?“来显示对象的信息,在使用 IPython 提示符时也可如此操作:

ipdb> partial?
Init signature: partial(self, /, *args, **kwargs)
Docstring:
partial(func, *args, **keyWords) - new function with partial application
of the given arguments and keywords.
File:           ~/.pyenv/versions/3.8.6/lib/python3.8/functools.py
Type:           type
Subclasses:

4.历史范围全局功能

之前使用 %history  功能时 , 用户可以指定会话和行的范围,例如:

~8/1-~6/5   # see history from the first line of 8 sessions aGo,
            # to the fifth line of 6 sessions ago.``

或者可以指定全局模式(global):

-g <pattern>  # glob ALL history for the specified pattern.

但无法同时指定两者,如果用户确实指定了范围和全局模式,则将使用 glob 模式(通配所有历史记录),并且将 忽略范围 。

现在此功能获得了增强,如果用户同时指定范围和 glob 模式,则 glob 模式将应用于指定的历史范围。

到此这篇关于IPython 8.0 Python 命令行交互工具的文章就介绍到这了,更多相关Python 交互工具内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: IPython 8.0 Python 命令行交互工具

本文链接: https://lsjlt.com/news/162344.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • IPython 8.0 Python 命令行交互工具
    目录1.追溯改进2.自动建议3.使用“”和""查看对象信息4.历史范围全局功能前言: IPython 是 Python 的原生交互式 sh...
    99+
    2024-04-02
  • IPython8.0命令行交互工具怎么用
    这篇文章给大家分享的是有关IPython8.0命令行交互工具怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。前言:IPython 是 Python 的原生交互式 shell 的增强版,可以完成许多不同寻常的任...
    99+
    2023-06-26
  • python定制交互式命令行
       有时候用python处理一些简单的事务,为此打开编辑器编辑一个可执行的py文件保存执行就显得得不偿失了。这时,可以定制一下python提供的交互式命令行来实现Tab补全和历史命令补全。当然,你也可以简单的安装ipython实现上述功...
    99+
    2023-01-31
    命令行 python
  • Node.js中怎么构建一个交互式命令行工具
    这期内容当中小编将会给大家带来有关Node.js中怎么构建一个交互式命令行工具,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。开始首先,创建一个新的 npm&nb...
    99+
    2024-04-02
  • Python click——命令行工具
    我们的游戏资源处理工具是python实现的,功能包括csv解析,UI材质处理,动画资源解析、批处理,Androd&iOS自动打包等功能。 该项目是由其他部门继承过来的,由于绝大部分代码不符合我们的业务需求,所以进行了大重构。 删除...
    99+
    2023-01-31
    命令行 工具 Python
  • 命令行模式与python交互模式
    命令行模式与python交互模式 1.在命令行模式下,可以执行 python 进入 Python 交互式环境,也可以执 行 python hello.py 运行一个.py 文件。 2.在 Python 交互式环境下,只能输入 Python...
    99+
    2023-01-31
    模式 命令行 python
  • Python命令行工具clint怎么用
    这期内容当中小编将会给大家带来有关Python命令行工具clint怎么用,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Clint 是一个包含了用于开发命令行应用的工具集合模块。它支持高亮,但是在会话为 T...
    99+
    2023-06-02
  • 详解Python命令行解析工具Argparse
    最近在研究pathon的命令行解析工具,argparse,它是Python标准库中推荐使用的编写命令行程序的工具。 以前老是做UI程序,今天试了下命令行程序,感觉相当好,不用再花大把时间去研究界面问题,尤其...
    99+
    2022-06-04
    命令行 详解 工具
  • shell命令执行hive脚本(hive交互)
    目录Hive执行方式方式1方式二方式三Hive执行方式 Hive的hql命令执行方式有三种: 1、CLI 方式直接执行2、作为字符串通过shell调用hive –e执行(-S开启静默,去掉”OK&...
    99+
    2022-06-05
    shell命令执行hive shell执行hive
  • python对excel交互工具怎么使用
    这篇文章主要介绍了python对excel交互工具怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇python对excel交互工具怎么使用文章都会有所收获,下面我们一起来看看吧。python 对excel...
    99+
    2023-07-02
  • EntityFrameworkCore工具使用命令行
    命令列表 Cmdlet Description -------------------------- ---------...
    99+
    2024-04-02
  • Android 命令行工具简介
    关于作者:CSDN内容合伙人、技术专家, 从零开始做日活千万级APP。 专注于分享各领域原创系列文章 ,擅长java后端、移动开发、商业变现、人工智能等,希望大家多多支持。 目录 一、导...
    99+
    2023-10-04
    android 命令行 log
  • 如何用Plumbum开发Python命令行工具
    如何用Plumbum开发Python命令行工具,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。主要介绍如何使用 Plumbum CLI 工具包来开发 Python 命令行应用程序...
    99+
    2023-06-17
  • python 对excel交互工具的使用详情
    目录python 对excel的 读入 与 改写二、python 写入数据1 、 xlwt包写入Excel文件2、openpyx 只可以读xlsx 不可读xls文档三、小结pytho...
    99+
    2024-04-02
  • python交互模式下命令tab补全
    python默认就可以进行tab补全命令行,在交互模式下,只要自己写个小小的tab.py模块即可;实现代码如下;#!/bin/env python  # -*- coding: utf-8 -*- # python startup file...
    99+
    2023-01-31
    命令 模式下 python
  • Python利用pyreadline模块实现交互式命令行开发
    目录一、pyreadline模块概述二、pyreadline模块安装三、pyreadline模块基本使用四、pyreadline模块高级用法五、总结交互式命令行是一种方便用户进行交互...
    99+
    2023-05-19
    Python交互式命令行开发 Python交互式命令行 Python 命令行
  • 玩转Go命令行工具Cobra
    目录1 简介2 安装2.1 安装Cobra-cli脚手架工具2.2 在项目中下载Cobra依赖3 使用方式3.1 Hello World3.2 开发自己的Cli命令3.3 规则和扩展...
    99+
    2024-04-02
  • mysql命令行工具是什么
    mysql命令行工具是一款命令解释器,用于管理mysql数据库服务器。其功能包括连接到服务器、创建/删除数据库、表和数据,以及查询、管理用户和监控性能。使用方法:打开命令提示符,输入"m...
    99+
    2024-04-14
    mysql linux macos
  • Python命令补全工具argcomplete
    1. 概述 在使用Python 命令或者 Python的命令行工具的时候,一个痛点是没有补全。比如python -m后面输入包名字,就没有提示,每次想运行一个http server的时候,都需要搜索一下http服务的包名。另外,像pip,p...
    99+
    2023-09-05
    python 开发语言
  • Python编程编写完善的命令行工具
    目录1. python-fire2. mando最后的话1. python-fire python-fire 是一个三方库,可以将任何 Python 对象变成一个命令行接口。 使用前...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作