我的worktools集合们

由于日常工作中,大半时间要在终端里面。然后很多情况下,都需要对数据库查询到的结果进行分析,或者是对一个PHP接口进行检查。这段时间我都是靠着Google Chrome的json-handle插件来查看,效果其实还行,就是每次都要打开一个窗口,输入链接,再点击刷新,整个过程还是很耗时的。

然后,我就给自己做了几个工具。这样我就能在控制台下查看我想查看的信息了。

接口查看工具

PHP对于PHP接口文件在终端下的调试基本上是:

php xx.php

但是这样的话,输出效果很糟糕。格式什么的都不能保证,而且很乱。

这个时候其实要是可以在终端下输出格式良好的JSON数据,就不用再通过浏览器,输入链接,刷新。这一系列的操作了。

php xx.php | python -m json.tool

核心思路就是这样了,然后我又用Python包装了一下。大致的使用流程是这样的。

先来一个待测试的接口文件 test.php

<?php
  $result = array('姓名'=>'菜鸟', 'address'=>'MIT',         'users'=>array(201492323,4343234,4342524545,54    54)); 

  echo json_encode($result);

然后就可以通过interfacetools.py进行调试了。

python interfacetools.py test.php

接口调试工具

终端数据库执行器

最近在公司,每次都要通过查看代码中的数据库连接信息来远程连接到服务器。时间长了就显得很郁闷了。于是我又做了一个这样的工具。

数据库终端执行器

那么换张表会怎样呢?会不会出现乱序的问题呢?答案自然是不会的了。来看另一张表的运行情况会怎样。
换张表依然运行良好

下面来看下使用方法吧,相信会让你一下就明白了的。
SQLHelper帮助信息

清单工具

因为是在VIM下写代码,所以对一个很大的而且不熟悉的文件中有哪些类,类中有哪些方法。或者文件内定义了哪些函数,函数的参数是什么。这些都比较让人头疼。

然后再来一个让自己顺心点的工具吧,主要是借助了正则表达式。

主要有以下两类:

  • 接口文件: 对request中的action进行探查。
  • 类文件: 对类方法的探查。
    区分这连那个中文件的标志就是在这个工具中用一个type进行区分。

使用之前,先将本地服务跑起来。

python generate.py

然后在浏览器上输入链接,格式为:

http://localhost/generate?type=type&path=filepath

然后就可以方便的探查文件内的信息了。

type=action

接口文件探查

type=class

类文件的探查

总结

目前的话,时间有限,就先写这俩比较实用的工具,接下来我还想对redis和memcache的key相关做一个分析的工具,这样还能省去不少时间在无聊的操作上。

但是貌似输入这一大串字符还是有点啰嗦,所以可以借助:alias命令来简化操作。

最后附上GitHub的地址,有兴趣的可以自行下载源码,使用。


我的worktools集合

UserWarning: A NumPy version >=1.16.5 and <1.23.0 is required for this version of SciPy (detected version 1.24.3 warnings.warn(f"A NumPy version >={np_minversion} and <{np_maxversion}" F:\worktools\python\Anaconda\lib\site-packages\pydub\utils.py:170: RuntimeWarning: Couldn't find ffmpeg or avconv - defaulting to ffmpeg, but may not work warn("Couldn't find ffmpeg or avconv - defaulting to ffmpeg, but may not work", RuntimeWarning) F:\worktools\python\Anaconda\lib\site-packages\pydub\utils.py:198: RuntimeWarning: Couldn't find ffprobe or avprobe - defaulting to ffprobe, but may not work warn("Couldn't find ffprobe or avprobe - defaulting to ffprobe, but may not work", RuntimeWarning) Traceback (most recent call last): File "F:\worktools\python\python项目\deep learning\voice enhance\model_test.py", line 28, in <module> audio = AudioSegment.from_mp3(wav_path) File "F:\worktools\python\Anaconda\lib\site-packages\pydub\audio_segment.py", line 796, in from_mp3 return cls.from_file(file, 'mp3', parameters=parameters) File "F:\worktools\python\Anaconda\lib\site-packages\pydub\audio_segment.py", line 728, in from_file info = mediainfo_json(orig_file, read_ahead_limit=read_ahead_limit) File "F:\worktools\python\Anaconda\lib\site-packages\pydub\utils.py", line 274, in mediainfo_json res = Popen(command, stdin=stdin_parameter, stdout=PIPE, stderr=PIPE) File "F:\worktools\python\Anaconda\lib\subprocess.py", line 951, in __init__ self._execute_child(args, executable, preexec_fn, close_fds, File "F:\worktools\python\Anaconda\lib\subprocess.py", line 1420, in _execute_child hp, ht, pid, tid = _winapi.CreateProcess(executable, args, FileNotFoundError: [WinError 2] 系统找不到指定的文件。
05-25
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值