首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

我写的 Bug 居然可以这么美

当我们写的一个脚本或程序发生各种不可预知的异常,如果我们没有进行捕获处理的时候,通常都会致使程序崩溃退出,并且会在终端打印出一堆 密密麻麻 的 traceback 堆栈信息来告诉我们,是哪个地方出了问题...使用这一条命令,会让你进行配置,可以让你在该环境中运行其他脚本的 traceback 输出都自动美化。 $ python3 -m pretty_errors ?...配置完成后,你再运行任何脚本,traceback 都会自动美化了,而这个美化是全局生效的。 不仅是在我的 iTerm 终端下 ? 在 PyCharm 中也会 ?...display_timestamp:启用时,时间戳将写入回溯头中。 display_locals 启用后,将显示在顶部堆栈框架代码中的局部变量及其值。...崔庆才 静觅博客博主,《Python3网络爬虫开发实战》作者

89140

Docker使用笔记

版本控制:镜像仓库可以帮助用户跟踪和回溯软件的版本历史,并且可以轻松地将软件回滚到以前的版本。这对于在生产环境中进行故障排查和修复问题非常有用。...在创建好镜像后,可以通过下面的命令来查看镜像是否创建成功(结果就不贴了,是否成功一目了然): sudo docker images 3.3 启动镜像 在创建好镜像后,可以通过下面的命令来启动镜像: sudo...3.1.1.2 Exited原因解析 继续说回STATUS中的Exited状态,这个状态的不同值能反应容器退出的原因,当Docker ps命令的STATUS列显示为Exited,表示容器已经退出。...Exited后面的数字表示容器退出的状态码。状态码0表示容器正常退出,而非0的状态码表示容器异常退出。...进入到容器后,可以像在本地的系统一样进行调试,可以通过启动脚本或者其他命令来查看我们想要执行的命令是否正确。

15610
您找到你想要的搜索结果了吗?
是的
没有找到

听说过代码洁癖,Bug洁癖怎么解?

当我们写的一个脚本或程序发生各种不可预知的异常,如果我们没有进行捕获处理的时候,通常都会致使程序崩溃退出,并且会在终端打印出一堆 密密麻麻 的 traceback 堆栈信息来告诉我们,是哪个地方出了问题...通过这条命令你可以安装它 $ python3 -m pip install pretty-errors ?...使用这一条命令,会让你进行配置,可以让你在该环境中运行其他脚本的 traceback 输出都自动美化。 $ python3 -m pretty_errors ?...配置完成后,你再运行任何脚本,traceback 都会自动美化了,而这个美化是全局生效的。 不仅是在我的 iTerm 终端下 ? 在 PyCharm 中也会 ?...display_timestamp:启用时,时间戳将写入回溯头中。 display_locals 启用后,将显示在顶部堆栈框架代码中的局部变量及其值。

53120

正则表达式背后的秘密——详解 LeetCode 第十题

那对于前两位的检测需要按没有 * 的匹配规则来检测,同时再把 p 和 s 检测通过的第一位同时删去,重新检测 p[1:] 和 s[1:] 是否匹配即可。...经过在第十题题解、评论区的洗礼,我们可以了解到以上思路的算法被称为回溯算法: 回溯算法实际上一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不满足求解条件,就“回溯”返回,尝试别的路径...但当探索到某一步,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为回溯法,而满足回溯条件的某个状态的点称为“回溯点”。...许多复杂的,规模较大的问题都可以使用回溯法,“通用解题方法”的美称。...优化 参考其它回溯算法的代码,可能会比我上面写的简洁,比如把 p 为非空字符串的情况合并,无论是否 * 号,都可以在其第二位不是星号对 p 和 s 删去第一位来进行回溯,比如 LeetCode 发布的官方解

55410

Python安装虚拟环境

这就能达到安装虚拟环境的目的了,生成一套独立的项目运行环境,避免与其他项目冲突。 在项目使用虚拟环境,可以在磁盘的任何位置创建项目的目录,只要选择对应的虚拟环境,项目就是运行在该虚拟环境中。 ?...在虚拟环境的目录中,一个 Scripts 目录,里面是一些相关的可执行文件和脚本。...deactivate.bat 是用来退出虚拟环境的脚本,可以在任何地方调用 deactivate.bat 脚本退出虚拟环境。...workon 跟虚拟环境名是最方便的方法,所以不用给 activate.bat 配环境变量,进入虚拟环境使用这个方法。 ?...退出虚拟环境使用 deactivate , 删除虚拟环境使用 rmvirtualenv (先退出才能删除)。

74820

Python中sys模块功能与用法实例详解

sys.argv 传递给Python脚本的命令行参数列表。argv[0]是脚本名称(依赖于操作系统,无论这是否是完整路径名)。...当引发异常并且未被捕获,解释器sys.excepthook使用三个参数调用 ,即异常类,异常实例和回溯对象。在交互式会话中,这发生在控制返回到提示之前; 在Python程序中,这发生在程序退出之前。...警告: 将回溯返回值分配给处理异常的函数中的局部变量将导致循环引用。这将阻止同一函数中的局部变量或回溯引用的任何内容被垃圾回收。...如果传递了另一种类型的对象,None则相当于传递零,并且打印任何其他对象stderr并导致退出代码为1.特别是sys.exit(“some error message”) 发生错误时退出程序的快速方法。...sys.exitfunc 该值实际上不是由模块定义的,但可以由用户(或程序)设置,以指定程序退出的清理操作。设置,它应该是无参数功能。解释器退出将调用此函数。

1.9K10

ios逆向之frida安装与使用

一、安装frida 在mac安装python 3 通过 brew install python3 指令安装python3,如下所示 在mac安装frida(客户端) 通过 pip3 install...设备的UDID查看iOS设备中应用程序中的pid、进程名,如下所示 frida-trace -U -f -m "-[* *]" 用于追踪iOS应用的方法调用,当然我们使用某个功能,...类方法是否已经加载进来 console.log('\n[*] Starting Hooking'); var _className = "JailbreakDetectionVC"; /...//args[1]:The selector //args[2]:方法的第一个参数开始 //如下代码则是我们在函数调用之前 打印函数的调用堆栈 便于回溯函数的整个调用过程...,如搜索类名的脚本、搜索方法名的脚本、hook方法的脚本、修改方法返回值的脚本,如下所示 想要测试这些frida脚本及测试该文章所使用的iOS app(DamnVulnerableiOSApp.ipa

3.8K20

【八】python基础之条件控制与循环语句

if中常用的操作运算符: 操作符 描述 < 小于 <= 小于或等于 > 大于 >= 大于或等于 == 等于,比较对象是否相等 !...test.py 输入一个数字:6 你输入的数字可以整除 2 和 3 Python中的循环语句 for 和 while。...执行以上脚本,输出结果如下: 输入一个数字 :5 你输入的数字是: 5 输入一个数字 : 你可以使用 CTRL+C 来退出当前的无限循环。 无限循环在服务器上客户端的实时请求非常有用。.../usr/bin/python3 for letter in 'Runoob': # 第一个实例 if letter == 'o': # 字母为 o 跳过输出 continue print ('当前字母...循环语句可以 else 子句,它在穷尽列表(以for循环)或条件变为 false (以while循环)导致循环终止被执行,但循环被break终止不执行。

81420

Python中sys模块

sys.argv 传递给Python脚本的命令行参数列表。argv[0]是脚本名称(依赖于操作系统,无论这是否是完整路径名)。...当引发异常并且未被捕获,解释器sys.excepthook使用三个参数调用 ,即异常类,异常实例和回溯对象。在交互式会话中,这发生在控制返回到提示之前; 在Python程序中,这发生在程序退出之前。...警告: 将回溯返回值分配给处理异常的函数中的局部变量将导致循环引用。这将阻止同一函数中的局部变量或回溯引用的任何内容被垃圾回收。...如果传递了另一种类型的对象,None则相当于传递零,并且打印任何其他对象stderr并导致退出代码为1.特别是sys.exit(“some error message”) 发生错误时退出程序的快速方法。...sys.exitfunc 该值实际上不是由模块定义的,但可以由用户(或程序)设置,以指定程序退出的清理操作。设置,它应该是无参数功能。解释器退出将调用此函数。

1.3K50

shell-编写shell脚本所需的基础语法

$$:脚本运行的当前进程号 $!:后台运行的最后一个进程的ID $?: 显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误。 $* 与 $@ 区别 相同点:都是引用所有参数。...命令:exit 在退出脚本使用不同的错误码,这样可以根据错误码来判断发生了什么错误。...命令:set -e 或者 set +e set -e表示从当前位置开始,如果出现任何错误都将触发exit。相反,set +e表示不管出现任何错误继续执行脚本。...如果脚本状态的(每个后续步骤都依赖前一个步骤),那么请使用set -e,在脚本出现错误时立即退出脚本。 如果要求所有命令都要执行完(很少会这样),那么就使用set +e。...下面是自己写的一个脚本(屏蔽了敏感信息): 对是否用main函数的问题,有利弊 #!

86620

Leetcode【60、79、93、131、842】

Word Search 解题思路: 这道题是给一个 m*n 的字符矩阵 board 和一个单词 word,判断 word 是否存在字符矩阵中。 这道题很明显用 DFS 回溯法去解决。...一个子串是否是回文串可以使用 s == s[::-1] 来判断。...使用回溯法的解题思路是对于字符串 s 的前缀进行划分,然后判断前缀是否是回文子串。如果是,形成临时结果,将 s 的后半部分和临时结果传入到下一层(深搜);如果不是,那就继续划分下一个前缀。...Palindromic Substrings,并保存结果;然后再执行DFS,如果发现某条子串不是回文,就可以直接退出,从而减少计算量。...第一次提交,WA 了,报错如下: ? 检查了一下发现没什么问题啊?

63730

Python 循环结结构

注意:while循环中的else是在while条件表达式为假的情况下执行的代码内容,一般用于判断起始条件是否为假等相关操作。 实例使用了 while 来计算 1 到 100 的总和: #!...你可以使用 CTRL+C 来退出当前的无限循环 执行以上脚本,输出结果如下: 输入一个数字 :5 你输入的数字是: 5 输入一个数字 : for ... in 循环 for...in 循环用于遍历容器类的数据...如果你从 for 或 while 循环中终止,任何对应的循环 else 块将不执行。实例如下: #!.../usr/bin/python3 for letter in 'Runoob': # 第一个实例 if letter == 'o': # 字母为 o 跳过输出...循环语句可以 else 子句,它在穷尽列表(以for循环)或条件变为 false (以while循环)导致循环终止被执行,但循环被break终止不执行。 如下实例用于查询质数的循环例子: #!

80210

【玩转腾讯云】api命令行工具的前世今生:qcloudcli、tccli

安装Python2环境:yum install python python-pip -y安装Python3环境:yum install python3 python3-pip -y安装命令行工具1) 通过...pip 安装命令行工具:$ pip install qcloudcli2) 检验 qcloudcli 是否安装成功:$ qcloudcli --help安装命令行自动补齐1) 找到自动补全脚本 qcloud_completer...) 将 qcloud_completer 所在路径加入系统的自动补全命令,运行以下命令:$ complete -C '/usr/bin/qcloud_completer' qcloudcli3) 观察是否包含...qcloudcli 自动补全脚本,获得类似如下结果证明已包含了qcloudcli的自动补全脚本:$ complete | grep qcloudclicomplete -C '/usr/bin/qcloud_completer...console.cloud.tencent.com/cam/capiregion的格式是ap-guangzhou /ap-shanghai/ap-chongqing/ap-chengdu/……output3

2.1K41

写好shell脚本的13个技巧

标记 打印对系统执行的所有操作 如果有必要,提供--silent选项 重新开启显示 用动画的方式显示进度 用颜色编码输出 出现错误立即退出脚本 自己执行清理工作 在退出使用不同的错误码 在结束打印一个新行...检查所有命令的可用性 脚本通常会调用其他脚本或二进制文件。在调用可能不存在的命令,请先检查它们是否可用。可以使用“command -v 二进制文件名称”来执行此操作,看看它的退出代码是否为零。...出现错误立即退出脚本 set -e表示从当前位置开始,如果出现任何错误都将触发EXIT。相反,set +e表示不管出现任何错误继续执行脚本。...如果脚本状态的(每个后续步骤都依赖前一个步骤),那么请使用set -e,在脚本出现错误时立即退出脚本。如果要求所有命令都要执行完(很少会这样),那么就使用set +e。 #!...\n'; exit 2; fi; 这样做另一个额外的好处,就是其他脚本在调用你的脚本,可以根据错误码来判断发生了什么错误。

51332

Python 入门指南第二节 | 使用 Python 解释器

在 Python 主窗口中输入 Control-P 可能是检查是否支持命令行编辑的最简单的方法。...如果发出嘟嘟声(计算机扬声器),则说明你可以使用命令行编辑功能;更多快捷键的介绍请参考 交互式输入行编辑历史回溯。...一些 Python 模块也可以当作脚本使用。你可以使用 python -m module [arg] … 命令调用它们,这类似在命令行中键入完整的路径名执行 模块 源文件一样。...使用脚本文件,经常会运行脚本然后进入交互模式。这也可以通过在脚本之前加上 -i 参数来实现。 2.1.1. 参数传递 调用解释器脚本名和附加参数传入一个名为 sys.argv 的字符串列表。...脚本名指定为 ‘-’ (表示标准输入), sys.argv[0] 被设定为 ‘-’,使用 -c 指令 ,sys.argv[0] 被设定为 ‘-c’。

36131

干掉照片中那些讨厌的家伙!Mask R-CNN助你一键“除”人!

圣诞特别版《白色圣诞节》中有这样一个场景:其中一个未来科技自由屏蔽人像的功能,可以让你屏蔽任何一个不想看见或不喜欢的人,然后留下的是一片灰白影像,就像是 Photoshop 软件中的抠图功能应用在了动态场景中...所以,如果你发现相册里以前开心合过影但现在讨厌的人,可以让他/她一键变成白底了。此外,你还可以用这个脚本生成多达 80 种不同类型目标的掩码,包括长颈鹿和公交车等事物。...▌使用方法 可以通过以下命令运行行人掩码脚本python3 person_blocker.py -i images / img3.jpg -c'(128,128,128)'-o'bus''truck...-n / - names:打印目标的类别选项,然后退出。 该脚本输出两张图像:静态图像(双关意图) person_blocked.png 和动画图像 person_blocked.gif。...python3 person_blocker.py -i images/img4.jpg -l python3 person_blocker.py -i images/img4.jpg -o 1 ▌安装环境

49400

不会用Photoshop抠图?Mask R-CNN助你一键“除”人

圣诞特别版《白色圣诞节》中有这样一个场景:其中一个未来科技自由屏蔽人像的功能,可以让你屏蔽任何一个不想看见或不喜欢的人,然后留下的是一片灰白影像,就像是 Photoshop 软件中的抠图功能应用在了动态场景中...所以,如果你发现相册里以前开心合过影但现在讨厌的人,可以让他/她一键变成白底了。此外,你还可以用这个脚本生成多达 80 种不同类型目标的掩码,包括长颈鹿和公交车等事物。...▌使用方法 可以通过以下命令运行行人掩码脚本python3 person_blocker.py -i images / img3.jpg -c'(128,128,128)'-o'bus''truck...-n / - names:打印目标的类别选项,然后退出。 该脚本输出两张图像:静态图像(双关意图) person_blocked.png 和动画图像 person_blocked.gif。...python3 person_blocker.py -i images/img4.jpg -l python3 person_blocker.py -i images/img4.jpg -o 1 ▌安装环境

93380

不会用Photoshop抠图?Python助你一键“除”人!

圣诞特别版《白色圣诞节》中有这样一个场景:其中一个未来科技自由屏蔽人像的功能,可以让你屏蔽任何一个不想看见或不喜欢的人,然后留下的是一片灰白影像,就像是 Photoshop 软件中的抠图功能应用在了动态场景中...所以,如果你发现相册里以前开心合过影但现在讨厌的人,可以让他/她一键变成白底了。此外,你还可以用这个脚本生成多达 80 种不同类型目标的掩码,包括长颈鹿和公交车等事物。...01 使用方法 可以通过以下命令运行行人掩码脚本python3 person_blocker.py -i images / img3.jpg -c'(128,128,128)'-o'bus''truck...-n / - names:打印目标的类别选项,然后退出。 该脚本输出两张图像:静态图像(双关意图) person_blocked.png 和动画图像 person_blocked.gif。...python3 person_blocker.py -i images/img4.jpg -l ?

1.2K10
领券