Common Lisp中zip库unzip函数无法正确解压含方括号文件名的Excel文件问题
Common Lisp中zip库unzip函数无法正确解压含方括号文件名的Excel文件问题
这是我之前一个问题的后续——之前我在MacBook上用Common Lisp创建带方括号的文件名时遇到了麻烦,后来自己找到了解决办法(还是ChatGPT给的思路)。
不过最近在尝试解压一个Excel文件时,我又碰到了新问题:这个Excel文件里包含一个名为[Content_Type].xml的文件,而我使用的zip库的unzip函数居然没法正确处理这个带方括号的文件名。
这个unzip函数的核心代码大致是这样的:
(defun unzip (pathname target-directory &key (if-exists :error) verbose) ;; <Xof> "When reading[1] the value of any pathname component, conforming ;; programs should be prepared for the value to be :unspecific." (when (set-difference ...
我推测问题的根源应该和之前创建文件时的情况类似:方括号在Common Lisp的路径名处理逻辑里可能被当作特殊字符解析了,导致unzip函数在生成目标文件路径时出现了错误,没法正确识别这个带方括号的文件名。
备注:内容来源于stack exchange,提问作者Gwang-Jin Kim
相关产品推荐
相关产品推荐

