Nim 中文编程入门
这一节,我们介绍如何使用 Nim 语言压缩与解压缩 zip 文件。需要安装第三方 zip
库,可以使用 nimble install zip
命令。需要注意的是,zip
库依赖 zip.lib
,记得把 zlib1.dll
[windows] 加在 Nim
安装路径的 bin
目录下。
解压缩文件
我们常用的 xlsx
文件[Excel],其实是许多 XML 文件的压缩文件。在 Windows 系统上,可以将 xlsx
的后缀改为 zip
就可以一窥 xlsx
的原貌了。
下面,我们使用 zip
库对 xml
文件进行解压缩。
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
压缩文件。
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")