在 Python 中通过连接字符串命名文件名


Filename by join string in Python

我在Python中有一个简单的代码行,使用太多+不好

filename = path + '/static/' + folder + '/' + name + 'html'

php中可以这样

$filename = "$path/static/$folder/{$name}html"

那么我们如何在Python中写缩短呢?

你想要的是连接路径组件。为此,您可以使用使用 os.sep 作为分隔符的 os.path.join() 函数。

>>> import os
>>> path = 'workspace'
>>> folder = 'stackoverflow'
>>> name = 'layout'
>>> os.path.join(path, 'static', folder, name, 'html')
'workspace/static/stackoverflow/layout/html'

如果您使用的是 Python 3.4 或更高版本,也可以使用 PurePath

from pathlib import PurePath
p = PurePath(path)
filename = str(p / static / folder / name / 'html')

演示:

>>> from pathlib import PurePath
>>> p = PurePath(path)
>>> filename = str(p / 'static' / folder / name / 'html')
>>> filename
'workspace/static/stackoverflow/layout/html'

你可以在python中做到这一点,这将更具可读性,

filename = "{}/static/{}/{}html".format(path, folder, name)

使用os.path.join,因为它适用于所有操作系统