Skip to main content

前言

pz7z8是用python写的一些杂七杂八的小脚本。使用pip install pz7z8即可安装使用。

如果记不清楚这个包里有哪些东西,都叫什么名字,大约有什么功能,可以在安装后直接执行pz7z8察看帮助。可以根据提示找到这份文档。

各脚本说明

chgver 修改版本号

当前处理流程如下:

  • 执行 ./setup.py sdist
  • 打开setup.py文件读
  • 复制setup.py为setup.py.bak
  • 搜索 version=x.y.z 这样的行,其中x,y,z都是数字
  • 设置z=z+1,修改setup.py
  • 执行twine upload dist/*x.y.z.tar.gz

delsame 删除相同的文件

带2个参数,指定目录1和目录2。

遍历目录1,针对目录1下所有的文件(包含目录、子目录)都会同步查找目录2下是否有相对路径相同、md5值相同的文件,如果找到,删除目录2中的相同文件。

dfslow 找出速度比较慢的挂载盘

无参数。

读取/etc/mtab文件,逐一用df检查每一条,如果时间超过1秒,显示慢的这一行相关信息。

如果正常,则没有任何显示。

dsync 双向的文件同步工具

执行时可以带一个参数指定配置文件,如果不指定,则使用当前目录下的dsync.conf

配置文件样例如下:

d1=/目录1
d2=/目录2
c1=gbk
c2=utf8
sp=|

f=文件1
f=文件2
f=文件3
f=文件4在目录1中名称|文件4在目录2中名称

以上配置内容不要为了美观等因素增加空格,会影响解析出的内容。

执行时会在d1,d2两个目录下依次检查文件,如果有不一样(md5值不等、只有一个目录有等)则复制日期新的到日期旧的目录。如果md5值不等但是文件修改时间相等则报警。

注意d1,d2在配置文件中可以有多行,后续检查以最后的d1,d2为准。

c1,c2设置编码,比如上面这个设置,就可以一个目录下放gbk的编码文件,另一个目录下放utf8的文件,比较的时候会考虑这个编码的因素,转换了之后进行比较。同步的时候也会做相应转换。c1,c2可以省略,省略的时候当utf8处理。如果2个都省略,则直接拷贝,不做转码。

sp是分隔符,不设置则默认为|。如果需要同步的文件在两个目录中文件名不同,则使用分隔符把两个文件名分开。同样要注意在文件名两边、分隔符两边不要留空格,除非文件名本身包含空格。

filenum 统计目录下的文件数量

执行时可以带一个参数指定目录,如果不指定则使用当前目录。

递归统计此目录下的所有文件数量并输出。

注意输出顺序是按照搜索的顺序,看着会有些乱。可以使用以下语句进行排序并输出哪些目录下文件数量较多。

filenum 目录 |sort -g|tail

finfo 记录文件(目录)的信息

finfo 目录名 md文件名

忽略目录名则使用当前目录。

忽略markdown文件名则使用目标目录下的finfo.md文件。

md2pdf 把markdown文件编译成pdf

执行时带参数指定要转换的markdown文件名,可以指定多个

脚本会调用pandoc和xelatex把文件转为pdf,所以要安装好pandoc和xelate

为调整输出格式,使用了两个模板文件,一个是yaml的,一个是tex的。可以使用系统带的模板文件,也可以使用自定义的模板文件。要转换/data/abc.md时,模板文件使用顺序如下:(以tex举例,yaml顺序相同)

  • /data/abc.md.tex
  • /data/md2pdf.tex
  • 软件包自带的md2pdf.tex,目录在md2pdf执行时会显示

模板文件如何修改请参考pandoc的相关文档。

yaml模板中可以有{filename}这样的替换,用来处理一些高级功能,如toc-title: {filename}指定标题显示文件名,目前支持的替换有:

  • filename:文件名(不包含路径,不包含扩展名)
  • createtime:生成pdf的时间,如2025-08-02 15:14:02
  • createdate:生成pdf日期,如2025-08-02

pz7z8 给出这个包的一些简单介绍

比如这个包有哪些内容

smod 根据模板调整源代码

  • 扫描 模板目录(默认是当前目录)下的模板文件 *.htm *.html
  • 扫描 目标目录 (默认是web/static) 下的目标文件 *.htm *.html
  • 如果目标文件中有 <!-- updatehtm xxxx.htm start --> 或者是 <!-- updatehtm xxxx.htm end --> 这样的行,则认为是需要用相应模板中的内容替换
  • 替换后如果内容有变化,则更新文件,如果没有变化,则不更新文件

用来批量替换文件里的一些固定内容,比如引用的模块

sshall 使用ssh跳转到预先设置好的目标机器

读入当前用户目录下的.sshall.json文件,这个文件基本格式如下:

[
    {
        "info": "服务器说明,会在右边显示,供选择服务器用",
        "name": "服务器名称,会显示在标题处",
        "class": "填写服务器的分类,会在左边显示所有的分类,选中分类后在右边显示这个分类中的所有服务器",
        "host": "服务器地址,可以使用域名,也可以直接使用ip地址",
        "port": "端口,一般设置为22"
    },
]

可以把自己要连接的ssh机器登记在这个配置文件里,执行sshall就可以分类显示这些机器,按动分类左边的数字快捷键可以切换分类,按动机器左边的字母快捷键可以跳转到相应的机器。

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pz7z8-0.1.14.tar.gz (16.6 kB view details)

Uploaded Source

File details

Details for the file pz7z8-0.1.14.tar.gz.

File metadata

  • Download URL: pz7z8-0.1.14.tar.gz
  • Upload date:
  • Size: 16.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.2

File hashes

Hashes for pz7z8-0.1.14.tar.gz
Algorithm Hash digest
SHA256 a6d41a3320d504021f155c926e432f6f1d9fdbd6e6a7ced85e3f218092999665
MD5 ba65e346a072c1efa74c399bbc47f775
BLAKE2b-256 b5e1d39d781fa1cbee1e0368c461d5ebf136e4c056b37e1444d90f80d9d118d8

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1.14 This release

1 file

0.1.13

1 file

0.1.12

1 file

0.1.11

1 file

0.1.10

1 file

0.1.9

1 file

0.1.8

1 file

0.1.7

1 file

0.1.6

1 file

0.1.5

1 file

0.1.4

1 file

0.1.3

1 file

0.1.2

1 file

0.0.5

1 file

0.0.4

1 file

0.0.3

1 file

0.0.2

2 files

0.0.1

1 file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page