We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
装饰器
pip install pysnooper
import pysnooper @pysnooper.snoop('debug_xxx.log', color=False)
Source path:... /path/to/your/scripts/tap.py Starting var:.. gt_sp = [0, 0, 0, 0, 1, 1, 1, 1, 1, 1] Starting var:.. pr_sp = [0.9919, 0.9923, 0.9942, 0.992, 0.9916, 0.9913, 0.9926, 0.9951, 0.9894, 0.9905] 14:52:56.296655 call 14 def test(gt_sp, pr_sp): 14:52:56.296869 line 15 thres = 0.9979 New var:....... thres = 0.9979 14:52:56.296932 line 17 pr_l = [ 1 if num > thres else 0 for num in pr_sp] New var:....... pr_l = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] 14:52:56.297000 line 18 print(pr_l) [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] 14:52:56.297071 line 20 aas = accuracy_score(gt_sp, pr_l) New var:....... aas = 0.4 14:52:56.298280 line 22 print(f'accuracy_score:{aas}') accuracy_score:0.4 14:52:56.298393 line 25 ap = average_precision_score(gt_sp, pr_sp) New var:....... ap = 0.6251322751322752 14:52:56.299719 line 26 print(f'ap: {ap}') ap: 0.6251322751322752 14:52:56.299832 line 28 precision, recall, thresholds = precision_recall_curve(gt_sp, pr_sp) New var:....... precision = array([0.6 , 0.55555556, 0.5 , 0.428...66667, 0.5 , 1. , 1. ]) New var:....... recall = array([1. , 0.83333333, 0.66666667, 0.5 ...33333, 0.16666667, 0.16666667, 0. ]) New var:....... thresholds = array([0.9894, 0.9905, 0.9913, 0.9916, 0.9919, 0.992 , 0.9923, 0.9926, 0.9942, 0.9951]) 14:52:56.300593 return 28 precision, recall, thresholds = precision_recall_curve(gt_sp, pr_sp) Return value:.. None Elapsed time: 00:00:00.004629
import pysnooper @pysnooper.snoop() def number_to_bits(number): if number: bits = [] while number: ....
import pysnooper import random def foo(): lst = [] for i in range(10): lst.append(random.randrange(1, 1000)) with pysnooper.snoop(): lower = min(lst) upper = max(lst) mid = (lower + upper) / 2 print(lower, mid, upper)
@pysnooper.snoop('/my/log/file.log')
默认是终端带颜色的字体,在编辑器中会有乱码,可以使用 color=False 禁止带颜色
color=False
@pysnooper.snoop(watch_explode=('foo', 'self'))
是不是可以用来打印 卷积网络图??
export PYSNOOPER_DISABLED=1
def large(l): return isinstance(l, list) and len(l) > 5 def print_list_size(l): return 'list(size={})'.format(len(l)) def print_ndarray(a): return 'ndarray(shape={}, dtype={})'.format(a.shape, a.dtype) @pysnooper.snoop(custom_repr=((large, print_list_size), (numpy.ndarray, print_ndarray))) def sum_to_x(x): l = list(range(x)) a = numpy.zeros((10,10)) return sum(l) sum_to_x(10000)
@pysnooper.snoop(max_variable_length=200)
max_variable_length=None 不限制输出
max_variable_length=None
The text was updated successfully, but these errors were encountered:
No branches or pull requests
PySnooper
装饰器
实现的调试器,可以打印出每行执行的结果,Use Case
调试函数
调试某段代码
写入 log 文件
展开列表/词典
使用环境变量 Disable PySnooper
自定义输出方式
默认打印长度
Reference
The text was updated successfully, but these errors were encountered: