does Python zipfile always use posixpath filenames regardless of operating system?
对于我当前的实用程序来说,这可能无关紧要,但是为了更好的编码实践,我想知道使用zip file模块的zip文件中的文件是否可以使用posix样式的路径名(如subdir/file.ext)访问,而不管它是在哪个操作系统上创建的,或者我的python脚本运行在哪个系统上。或者,如果在Windows中,文件将以subdirfile.ext的形式存储或访问,我阅读了模块的pydoc,在这里和谷歌上进行了一些搜索,但没有看到与此问题相关的任何内容。谢谢。
对。
您可以在zipfile模块中看到这些行:
1 2 3 4 5 | # 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规范中:
file name: (Variable)
The name of the file, with optional relative path.
The path stored should not contain a drive or
device letter, or a leading slash. All slashes
should be forward slashes '/' as opposed to
backwards slashes '\' for compatibility with Amiga
and UNIX file systems etc.
号