2011-11-18 213 views
5

如果我使用Python ZipFile库解压Zip文件,该文件在Windows上创建,但是我的代码在Unix上运行,路径分隔符是否总是Unix样式?Python ZipFile路径分隔符

+0

好像它是因为它不是作为一个字符串存储。我当然希望如此:) – fncomp

+2

你会希望如此!但是当你与电脑打交道时,希望与任何事情无关...... – Joe

回答

14

在内部,ZipFile按照zip file specification的要求存储正斜杠。

从外部看,它们使用os.sep进行翻译,因此它将与给定平台上的正常预期匹配。

代码引用:

+0

谢谢!我认为这是事实,但有证据是很好的。 – Joe

+2

请注意,此转换仅适用于在ZIP存档中创建条目时。访问现有成员时(例如使用'zip_file.read('dir/file.txt')')斜杠必须始终使用。 – Feuermurmel

+1

+1链接到压缩文件规范。谢谢!!!以下是相关部分: 4.4.17文件名:(变量) 4.4.17.1文件的名称,带有可选的相对路径。存储的路径必须不包含驱动器或 设备字母或前导斜杠。所有斜杠 必须是正斜杠'/'而不是 反斜杠'\'以便与Amiga 和UNIX文件系统等兼容。如果输入来自标准 输入,则不存在文件名字段。 –

相关问题