You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改pyweb代码消除生成文件中字符串内部多余缩进空格

问题原因

pyweb默认会对代码块内插入的宏内容,自动匹配插入位置前方的字符长度作为缩进量,你遇到的12个空格就是filename = '的总长度被判定为缩进量,自动添加到了宏path的输出内容前方。

解决方案

方案1:使用非缩进宏插入语法(最简便)

在宏引用的标识符前加|标记,告诉pyweb不要给这个宏的输出加自动缩进,修改后的代码如下:

@d path @{/path/to/the/directory/@}
@o code @{
filename = '@<|path@>the_file'
@}

方案2:关闭当前代码块的自动缩进

如果整个代码块都不需要自动缩进功能,可以给@o指令加上-noindent参数:

@d path @{/path/to/the/directory/@}
@o code -noindent @{
filename = '@<path@>the_file'
@}

方案3:调整字符串写法避免缩进判定

如果你的pyweb版本不支持上述语法,可以修改字符串写法,把宏插入位置移到不会被判定为需要缩进的位置:

@d path @{/path/to/the/directory/@}
@o code @{
filename = ''@<path@>'the_file'
@}

以上任意一种方案修改后,运行python3 -m pyweb test.w -wHTML生成的代码都会符合预期,无多余空格:

filename = '/path/to/the/directory/the_file'

内容的提问来源于stack exchange,提问作者bgukw

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 15:36:05