Zacharia2 / SuperMemo-Toolkit

SuperMemo 增强工具(CLI命令行)。包含图链整理、EPUB图书转换导入、Latex公式转图片等。
GNU General Public License v2.0
24 stars 3 forks source link

docopt封装为命令行程序。 #8

Closed Zacharia2 closed 10 months ago

Zacharia2 commented 10 months ago

涉及到包的使用。

Zacharia2 commented 10 months ago

https://blog.csdn.net/qq_24224067/article/details/103187864

标准项目结构

Zacharia2 commented 10 months ago

https://zhuanlan.zhihu.com/p/376426708?utm_id=0

Zacharia2 commented 10 months ago

学习包要从两个角度来看,包的设计者和包的使用者。因为包是模块,所以包的使用和普通模块的使用方式是一样的。

什么是包 包就是一个包含init.py文件的文件夹,文件夹内可以包含子包或者模块,比如创建如下结构的包结构:

package  # 包文件夹
|—— __init__.py
|—— small_package  # 子包文件夹
|   |—— __init__.py
|   |—— module1.py  # 模块文件
|   |—— module2.py  # 模块文件
|——module3.py  # 模块文件

创建包的目的不是为了运行,而是为了被导入使用,包的本质就是模块,因此可以将包当做模块来导入。对于普通模块(一个py文件),会发生三件事,其中一件事就是执行模块文件的代码。包是不能像普通模块那样被执行代码,所以包提供了一个init.py文件,导入包就会执行init.py文件,这也是init.py文件存在的意义。python3中,文件夹没有init.py也可以,但是在python2中包必须要有该文件。

Zacharia2 commented 10 months ago

smkit set config programs <path> smkit get config -all

Zacharia2 commented 10 months ago

smkit pathpix <collection>

Zacharia2 commented 10 months ago

smkit e2s [<collection>] <epub-path> <targetfolder>

Zacharia2 commented 10 months ago

smkit indexer <epub> <output>

Zacharia2 commented 10 months ago

还有一个修复导出的源文本元素标题乱码。

smkit codetitlefix <node.txt>