Python 如何将数组的内容写入文本文件,每行一个数据?
我有一个Python文件,它打印出数组的内容,每行一个数据,Python 如何将数组的内容写入文本文件,每行一个数据?,python,arrays,write,Python,Arrays,Write,我有一个Python文件,它打印出数组的内容,每行一个数据,print(a['title']),我想把这个数据(a['title'])写入一个文本文件,每个数据都在新行上 这是我的密码: driver.get('https://www.webstie.com/') html = driver.page_source soup = BeautifulSoup(html, 'html.parser') a = soup.select('div.class_name a') for a in soup
print(a['title'])
,我想把这个数据(a['title']
)写入一个文本文件,每个数据都在新行上
这是我的密码:
driver.get('https://www.webstie.com/')
html = driver.page_source
soup = BeautifulSoup(html, 'html.parser')
a = soup.select('div.class_name a')
for a in soup.select('div.class_name a'):
#print(a['title'])
textList = (a['title'])
outF = open("file1.txt", "a")
for line in textList:
outF.write(line)
outF.write("\n")
outF.close()
问题是,当我使用\n
时,它将写入数据,但每个字母都会在新行上。
如果我取出\n
,像这样:outF.write(“”
),它会将数据写入一行
S
e
a
r
c
h
f
o
r
"
k
e
y
w
o
r
d
不使用\n
输出:
Search for "keyword result one"Search for "keyword result two"Search for "keyword result three"
我想要的示例输出:
Search for "keyword result one"
Search for "keyword result two"
Search for "keyword result three"
我做错了什么?将
\n
写在a
标记循环的末尾,甚至不用费心循环行中的字符:
driver.get('https://www.webstie.com/')
html=driver.page\u源
soup=BeautifulSoup(html,'html.parser')
a=汤。选择('div.class_name a')
打开(“file1.txt”、“w”)作为f:
选择('div.class_name a'):
text=a[“标题”]
f、 写入(文本+“\n”)
请添加print(repr(a['title'])
并显示结果好吗?似乎textList=(a['title'])将textList设置为字符串,然后循环该字符串中的每个字符。@Stef,感谢您的回复,print(repr(a['title'])
将打印与print(a['title'])相同的内容
谢谢你的回复,我尝试了你的代码,它不会写入任何文件。感谢@Aplet123提供你的代码,尽管你的代码不起作用,但我将你的方法应用到我的代码中,它起作用了,所以我没有使用textList=(a['title'])
而是将其替换为:textList=a['title']
最后我使用了outp.write(textList+'\n')
而不是:outp.write(“\n”)