我在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
,因为它适用于所有操作系统