小编Wyr*_*ood的帖子

有没有办法在大括号内分解 f 字符串?

例如,如果我有

>>> name = f"{os.path.splitext(os.path.basename('/some/long/path/I/donot/need/to/some/config.bs'))[0]}.yaml"
'config.yaml'
Run Code Online (Sandbox Code Playgroud)

因为实际文本很少,所以在 79 个字符之前没有好地方可以换行。看来你不能这样做:

name = f"{os.path.splitext(os.path.basename(
    '/some/long/path/I/donot/need/to/some/config.bs'))[0]}.yaml"

>>> f"{os.path.splitext(os.path.basename(
  File "<stdin>", line 1
    f"{os.path.splitext(os.path.basename(
                                        ^
SyntaxError: EOL while scanning string literal
Run Code Online (Sandbox Code Playgroud)

我唯一能做的就是拆分命令,例如:

>>> fname = '/some/long/path/I/donot/need/to/some/config.bs'
>>> tempname = os.path.splitext(os.path.basename(
...     fname))[0]
>>> name = f'{tempname}.yaml'
>>> name
'config.yaml'
Run Code Online (Sandbox Code Playgroud)

还有其他选项可以拆分 f 字符串吗?

python python-3.x python-3.6 f-string

3
推荐指数
1
解决办法
1733
查看次数

标签 统计

f-string ×1

python ×1

python-3.6 ×1

python-3.x ×1