在Python代码中使用命令行交互模式

admin 2024年3月27日08:38:14评论4 views字数 729阅读2分25秒阅读模式

在调试代码时,我们会打断点让程序停下来,观察变量。除了断点进行调试,我们还可以使用 Python 自带的交互模式,在交互模式除了可以观察变量,还可以执行函数。

例子:

import code# 定义一些变量var1 = 'Hello'var2 = 42def my_function():    return 'This is my function.'# 进入交互模式,并继承所有变量code.interact(local=locals())

在Python代码中使用命令行交互模式

在交互模式,可以继承代码中的变量和函数,通过交互模式调用函数、修改变量。

交互模式使用了 locals() 来传递变量,关于 locals() 和 globals() 的区别,它们两个都用于获取变量,但作用域不同。

  1. locals()函数

    • locals()函数返回一个包含当前局部作用域中所有变量名和对应值的字典。局部作用域可以是函数内部,也可以是模块级别的任何代码块。

    • 在函数内部调用locals()函数会获取该函数内的所有局部变量。

    • 在全局作用域调用locals()函数会获取全局变量。

  2. globals()函数

    • globals()函数返回一个包含当前全局作用域中所有变量名和对应值的字典。

    • 在任何地方调用globals()函数都会获取全局作用域中的所有变量。


对于需要维护数据的场景,也可以使用交互模式。比如数据存盘前需要进行调整,如果在程序中写数据处理逻辑,程序正常执行时并不会用到。使用过 django 的对这种场景应该非常熟悉,开发初期经常需要手工调整数据,比如删测试数据。

最后需要补充一下,code 是标准库,不需要额外 pip 安装。

全文完。

如果转发本文,文末务必注明:“转自微信公众号:生有可恋”。

原文始发于微信公众号(生有可恋):在Python代码中使用命令行交互模式

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年3月27日08:38:14
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   在Python代码中使用命令行交互模式https://cn-sec.com/archives/2607589.html

发表评论

匿名网友 填写信息