我想使用结构生成自定义 ejabberd 配置文件并上传到服务器。Fabric 在fabric.contrib.files.upload_template
. 不幸的是 ejabberd 配置文件使用
%%%
征求意见
使用 python 字符串插值会在以下简化示例中引发错误:
%%% 这是一条评论
{resurl, %(resturl)s}
ValueError: unsupported format character 't' (0x74) at index 4
我可以用偶数替换 % > 1 的每个非不均匀出现。或者做
val = re.sub("%", "??", open("ejabberd.cfg").read())
val = val % {"resturl": "http://localhost:500/"}
val.replace("??", "%")
可能有更好的解决方案来处理文件具有 %,也许是通过告诉 python 使用另一个字符来标记说明符的开始。
感谢您的帮助