我的 Python 语法有什么问题:我试图在字符串中使用多个引号和变量
What is wrong with my Python syntax: I am trying to use multiple quotation marks plus variables in a string
我正在尝试使用 Python 写入文件。但是,代码中有多个 "
加上调用一个变量。我根本无法管理语法。
代码应导致:
{
"Name of site": "https://.google.com",
网站是变量而不是字符串。
代码尝试如下。它从不解析变量,只是将其显示为名为 host_name
的字符串。我尝试添加反斜杠和引号(各种类型的单引号和双引号),但无论我尝试什么都不起作用。
with open ("new_file.txt", "a") as f:
f.write ("{ \n")
f.write("\"Name of site\": \"https://" + host_name + ", \n")
new_file.txt显示:
"Name of site": "https:// + host_name + "\," + "
我不知道 "\,"
来自哪里。
您可以使用 f 字符串,并利用 ''
和 ""
都创建字符串文字的事实。
>>> host_name = example.com
>>> output = "{\n"+ f'"Name of site": "https://{host_name}",' + "\n"
>>> print(output)
{
"Name of site": "https://example.com",
请注意,在该示例中,您必须 还 连接字符串,以避免 f-strings 不允许使用大括号或反斜杠;然而,甚至有办法解决这个问题。
newline = '\n'
l_curly = "{"
output = f'{l_curly}{newline}"Name of site": "https://{host_name}", {newline}'
这就是您直接构建字符串的方式。但你真正想要的似乎更有可能是构建一个字典,然后使用 JSON.
写出该字典
>>> import json
>>> host_name = 'example.com'
>>> data = {"Name of site": f"https://{host_name}"}
>>> output = json.dumps(data, indent=4)
>>> print(output)
{
"Name of site": "https://example.com"
}
我正在尝试使用 Python 写入文件。但是,代码中有多个 "
加上调用一个变量。我根本无法管理语法。
代码应导致:
{
"Name of site": "https://.google.com",
网站是变量而不是字符串。
代码尝试如下。它从不解析变量,只是将其显示为名为 host_name
的字符串。我尝试添加反斜杠和引号(各种类型的单引号和双引号),但无论我尝试什么都不起作用。
with open ("new_file.txt", "a") as f:
f.write ("{ \n")
f.write("\"Name of site\": \"https://" + host_name + ", \n")
new_file.txt显示:
"Name of site": "https:// + host_name + "\," + "
我不知道 "\,"
来自哪里。
您可以使用 f 字符串,并利用 ''
和 ""
都创建字符串文字的事实。
>>> host_name = example.com
>>> output = "{\n"+ f'"Name of site": "https://{host_name}",' + "\n"
>>> print(output)
{
"Name of site": "https://example.com",
请注意,在该示例中,您必须 还 连接字符串,以避免 f-strings 不允许使用大括号或反斜杠;然而,甚至有办法解决这个问题。
newline = '\n'
l_curly = "{"
output = f'{l_curly}{newline}"Name of site": "https://{host_name}", {newline}'
这就是您直接构建字符串的方式。但你真正想要的似乎更有可能是构建一个字典,然后使用 JSON.
写出该字典>>> import json
>>> host_name = 'example.com'
>>> data = {"Name of site": f"https://{host_name}"}
>>> output = json.dumps(data, indent=4)
>>> print(output)
{
"Name of site": "https://example.com"
}