盒子
盒子
文章目录
  1. Nim 中文编程入门
    1. 解压缩文件
    2. 压缩文件

使用 Nim 语言压缩解压缩 zip 文件

Nim 中文编程入门

这一节,我们介绍如何使用 Nim 语言压缩与解压缩 zip 文件。需要安装第三方 zip 库,可以使用 nimble install zip 命令。需要注意的是,zip 库依赖 zip.lib,记得把 zlib1.dll [windows] 加在 Nim 安装路径的 bin 目录下。

解压缩文件

我们常用的 xlsx 文件[Excel],其实是许多 XML 文件的压缩文件。在 Windows 系统上,可以将 xlsx 的后缀改为 zip 就可以一窥 xlsx 的原貌了。

下面,我们使用 zip 库对 xml 文件进行解压缩。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import os

import zip / zipfiles


proc extractXml*(fileName: string) =
var z: ZipArchive
if not z.open(fileName):
echo "Opening zip failed"
quit(1)
z.extractAll("files/td")
z.close()
assert existsDir("files/td/xl/worksheets")
assert existsFile("files/td/xl/worksheets/sheet1.xml")

extractXml("test.xlsx")

压缩文件

我们使用 addFile 压缩文件。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
import os

import zip / zipfiles


proc toSrc*(src, dest: string) =
var z: ZipArchive
# 目标文件
assert z.open(dest, fmWrite)
# 添加源文件
z.addFile(src)
z.close()

toSrc("utils.nim", "test.zip")