目前我在我的Django项目中几乎总是使用os.path.join
以支持跨操作系统; 我目前没有使用它的唯一情况是用于模板名称和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程序无法按预期工作。