照着报错修好多文件程序
场景:一个三文件的小收银程序(main / loader / pricing),遇到脏数据就整个崩掉。报错指向的文件,不一定是你最先打开的那个。 任务:让 cd ~/work/shop && python3 main.py
报错链最底下的真凶
场景:一个服务在处理数据时崩了,屏幕上打出两段 traceback:下面那段说的是一个包装过的业务异常,看上去像是罪魁祸首。 任务:在 ~/work/app 运行 python3 main.py,找出「最早真正出错」的那个函数的名字(不是把
直接运行时的名字
直接用 python3 mathx.py 运行时,mathx.py 里的 __name__ 的值是【0】。
带点号的导入怎么跑
包里的 cli.py 写着 from .count import top_words,要运行它应该【0】。
相对导入指向谁
补全 resolve(current, rel):current 是当前模块全名,rel 是相对导入写法。一个点表示当前模块所在的包,每多一个点往上一层;点后面没有名字时表示那个包本身。返回被导入模块的全名。
一导入就开始跑的模块
场景:同事写的数学工具模块自带演示:一 import 它,屏幕上就先打出演示,还停下来等人按回车——别的脚本根本没法正常用它。 任务:改 ~/work/tools/mathx.py:被 import 时什么都不打印、不等输入;直接 pyth
把几个文件组织成包
场景:三个互相引用的文本处理文件,只有 cd 进它们的目录才跑得起来;别的项目想 from textkit import … 更是不行。 任务:在 ~/work/proj 下做到两件事:python3 -m textkit.cli samp
只看第二十轮
循环要跑几百轮,你只想看 i == 20 那一轮时某个变量的值,最省事的办法是【0】。
崩溃之后停在哪
用 python3 -m pdb 运行一个会崩的程序,输入 c 让它跑到崩溃,pdb 会停在【0】。
记下第五轮的值
程序只关心最终结果,但你需要知道 i == 4 那一轮更新完之后 acc 是多少。补全后输出 那一轮的值/最终值。