在开始之前呢,就如何学习别人的代码,想跟大家分享两个看代码的模式 :top-down 和 bottom-up
top-down模式呢就是画总体代码框架图,这有助于我们总体掌握代码内容。
botton-up模式呢就相当于我们前面提过的“右键,go to defination”,了解其底层函数。
这部分呢参考了一位作者的回答
https://www.zhihu.com/question/21186887/answer/18195570
ok,回归正题。之前的文章都是逐字逐句的去讲解代码,那么ref_tool文件夹下的各个文件到底是干什么的呢?让我们来整体看看吧!
其实呢,software文件夹下包含两个文件夹——CLI-Tool(命令行界面工具,Command Line Interface)和DummyStudio,DummyStudio的软件作者已放在GitHub,我们主要看CLI-Tool文件夹就行。
CLI-Tool文件夹下又包含四个子文件夹,以及一个gitignore文件、一个run_shell.py的python文件、一个run.bat文件和一个zadig exe文件。
1、 gitignore文件呢是用于指定哪些文件和文件夹应该被版本控制系统忽略。它的目的呢就是确保在版本控制过程中,不必要的或自动生成的文件被忽略掉,来保持代码仓库的干净和整洁。
# Python Distribution / packaging
.Python
#env/
#build/
#develop-eggs/
/dist/
#downloads/
#eggs/
#.eggs/
#lib/
#lib64/
#parts/
#sdist/
#var/
/*.egg-info/
#.installed.cfg
#*.egg
/MANIFEST
# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec
*.pyc
# Installer logs
pip-log.txt
pip-delete-this-directory.txt
2、run_shell.py文件呢是一些命令行工具。它使用argparse库解析命令行参数,并根据不同的命令执行相应的操作。具体内容呢在前两篇文章中已提到。
3、run.bat文件是一个Windows批处理脚本。它的作用是通过运行run_shell.py脚本来执行一个IPython交互式shell会话。Windows批处理脚本是一种用于在Windows操作系统上批量运行命令的脚本文件。它使用Windows命令行解释器执行一系列命令,可以通过简单的脚本语法来实现自动化任务。
@echo off #关闭命令行中的命令回显功能,不会显示执行的命令
if not defined TAG ( #如果变量TAG没有被定义,就执行括号中的命令。
set TAG=1 #将变量TAG的值设置为1。
start wt -p "cmd" %0 #打开一个新的Windows Terminal窗口,并在其中运行cmd命令。%0是指当前脚本的路径。
exit #退出当前脚本的执行。
)
ipython "%~dp0\run_shell.py" -- %*
#ipython是运行IPython的命令;%~dp0是指当前脚本的完整路径;\run_shell.py是要执行的Python脚本的相对路径
# -- %*表示将后续的命令行参数传递给run_shell.py脚本。
4、zadig-2.5exe文件。Zadig是一个用于Windows操作系统的开源工具,它的主要功能是安装和配置USB驱动程序。它可以帮助用户更方便地管理和配置USB设备的驱动程序。
dummy机械臂的作者在README里提到过,已添加命令行调试工具reftool
它的位置呢就在CLI-Tool文件下
里面呢又包含这些文件
后续就让我们来看看里面的内容吧!