目前我os.path.join几乎总是在我的django项目中使用跨操作系统支持; 我目前没有使用它的唯一地方是模板名称和URL.所以在我需要'/path/to/some/file.ext'我使用的路径的情况下os.path.join('path', 'to', 'some', 'file.ext').
然而,我刚刚在Windows上测试我的项目,看看它是否工作正常/是必要的,似乎Windows会很乐意接受'/'或'\\'(或者'\'在python之外工作时),并且因为所有UNIX系统都使用'/'它似乎没有理由使用'\\',在哪种情况下有必要在os.path.join任何地方使用?
是否存在添加'/'或使用posixpath会导致某些操作系统出现问题的情况(不包括XP或更低版本,因为它们不再受到官方支持)?如果不是,我想我只会使用posixpath或添加一个'/'用于连接变量与其他变量或变量与字符串,而不是分离出字符串路径(所以保留它'/path/to/some/file.ext'),除非有其他原因让我除了破坏之外不这样做.
为了避免这种情况可能以主要意见为基础,我想澄清我的具体问题是,是否使用os.path.join将导致python程序无法在支持的操作系统上按预期工作.
Tim*_*ers 13
Microsoft Windows API不关心您是否使用/或\,因此通常可以在Windows上用作分隔符.但是,命令行("DOS box" - command.com或cmd.exe)命令通常需要\在路径中(/用于标记这些本机Windows shell中的命令选项).因此,例如,如果您在Python中构建命令行并触发shell来执行命令,则通常需要\在Windows上使用分隔符.
另一个案例包括Lib/macpath.py:sep设置为:(冒号),迎合旧的Macintosh系统.我相信这是Python运行的唯一/一个不接受分隔符的系统.
编辑: 请参阅此处了解Windows命名规则的长篇大论.不要责怪我;-)
| 归档时间: |
|
| 查看次数: |
1026 次 |
| 最近记录: |