【发布时间】:2021-12-11 06:13:37
【问题描述】:
我是python和fstring的新手,你能帮我如何用fstring将多行写入文件,它是创建一个配置文件,fstring中的所有内容都将写入文件,忽略内容有什么
def create_testfile(self) -> None:
"""writes the config file
"""
value = f""" #==================================
## NAT network DHCP params configuration
bridge=$(ifconfig | grep "flags" | awk -F : '{print $1}' | sed '/lo/d' | sed '/vif/d')
echo "${command}"
case "${command}" in
online)
...
...
...
port_num_check
esac
"""
with open("network.txt", "w") as network:
network.write(value)
给出错误信息 文件“”,第 1 行 (打印 1 美元) ^ SyntaxError: 无效语法
我尝试将三引号字符串更改为单引号字符串,但还有另一个问题,添加 \n 将导致错误消息。 SyntaxError: f-string 表达式部分不能包含反斜杠
【问题讨论】:
-
你试过用
.format()代替f-string吗? -
这能回答你的问题吗? Multiline f-string in Python
-
你需要转义你的
{print $1}->{{print $1}} -
你为什么还要使用 f-string?您似乎不想执行任何替换。
-
谢谢,不要使用 f-string 是有道理的。我遵循了一些示例并使用了 fstring。
标签: python python-3.x pycharm python-3.6 f-string