我有一个for循环,它将文本中的每一行打印为元素,并将其附加到列表中。它用单引号把它放在元素中,但我希望它用双引号。不确定使用什么以及从哪里开始。
我的文件包含
google.com
yahoo.com
facebook.com
我的脚本是
with open('file') as target:
addresses=[]
for i in target:
addresses.append(i)
print(addresses)
我想要的结果是
["google.com", "yahoo.com", "facebook.com"]
感谢提供的任何帮助
您可以使用json.dumps,并使用rstrip删除尾部空格和换行符。
import json
with open('test.txt') as target:
addresses=[]
for i in target:
addresses.append(i.rstrip())
print(json.dumps(addresses))
输出:
["google.com", "yahoo.com", "facebook.com"]
正如前面提到的,如果给定元素的类型是字符串,Python只打印单引号,就像您的情况一样。如果您需要在字符串周围显式地使用双引号,那么请使用f-string:
with open('file') as target:
addresses=[]
for i in target:
addresses.append(f""{i.rstrip()}"")
print(addresses)
它会给你
['"google.com"', '"yahoo.com"', '"facebook.com"']
这可能就是你想要的。