我试图将所有锚文本放在txt文件的页面上
print(anchor.get('href'))
with open('file.txt', 'a') as fd:
fd.write(anchor.get('href') + '\n')
并且脚本执行时没有错误但我在计算机上的任何地方都找不到file.txt。我错过了一些非常明显的事情吗?
答案 0 :(得分:1)
使用文件打开模式a
(追加),如果文件尚不存在,将创建该文件,否则写入将附加到文件末尾。正如问题所写,文件将在正在运行的进程的当前目录中创建...看那里。
from bs4 import BeautifulSoup
import requests
response = requests.get('http://httpbin.org/')
soup = BeautifulSoup(response.text)
with open('file.txt', 'a') as fd:
links = (link.get('href') for link in soup.find_all('a'))
fd.write('\n'.join(links) + '\n')
答案 1 :(得分:0)
尝试设置文件名的完整路径,以便在此路径中找到。
示例:
print(anchor.get('href'))
with open('/home/wbk/file.txt', 'a') as fd:
fd.write(anchor.get('href') + '\n')
是的,你可以使用' a'创建一个新文件,虽然这不是一个好习惯。 ' a'是按照描述doc
将数据附加到现有文件的末尾答案 2 :(得分:0)
以下代码适用于我:
with open("example.txt","a") as a:
a.write("hello")
您确定该文件不在您的计算机中吗?你用哪种方式证明了它?在我的情况下,我使用eclipse IDE,所以我必须刷新Eclipse文件资源管理器才能看到它..
试试这个:
with open("prova.txt","a") as a:
a.write("ciao")
try: open("prova.txt","r")
except: print "file doesn't exist"