1

这可能对我当前的实用程序无关紧要,但只是为了良好的编码实践,我想知道使用 zipfile 模块的 ZIP 文件中的文件是否可以使用 POSIX 样式的路径名(例如 subdir/file)访问.ext 不管它是在哪个操作系统上制作的,或者我的 Python 脚本在哪个系统上运行。或者,在 Windows 的情况下,文件将作为 subdir\file.ext 存储或访问。我阅读了该模块的 pydoc,并在此处和 Google 上进行了一些搜索,但看不到与此问题相关的任何内容。谢谢。

4

1 回答 1

3

是的。

您可以从zipfile模块中看到这些行:

# This is used to ensure paths in generated ZIP files always use
# forward slashes as the directory separator, as required by the
# ZIP format specification.
if os.sep != "/" and os.sep in filename:
    filename = filename.replace(os.sep, "/")

Zip 规范中:

文件名:(变量)

文件的名称,带有可选的相对路径。存储的路径不应包含驱动器或设备号,或前导斜杠。为了与 Amiga 和 UNIX 文件系统等兼容,所有斜杠都应该是正斜杠 '/' 而不是反斜杠 '\'。

于 2011-02-18T10:47:34.583 回答