Я пытаюсь очистить кучу данных переписи о моей области, начиная с одной ссылки, чтобы получить код справа. Сначала я хочу получить заголовок страницы и сохранить данные на странице в txt-файле, названном после заголовка.Неподдерживаемый тип операнда для%: 'file' и 'unicode'
Так, например, в этом случае Census Block 970900-1-001 in Cortland County, New York
будет названием txt-файла. Однако, когда я пытаюсь сделать это с помощью метода % variable
, он дает мне ошибку Unsupported operand type for %: 'file' and 'unicode'
. Я понимаю сообщение об ошибке - мой вопрос в том, как я могу достичь функциональности, для которой я собираюсь, или это даже возможно?
Код, написанный до сих пор:
from bs4 import BeautifulSoup
from urllib2 import urlopen
links = ['http://www.usa.com/NY0239709001001.html']
def block():
link = links[0]
html = urlopen(link)
soup = BeautifulSoup(html.read(),'lxml')
h1 = soup.find('h1').text
print(h1)
f = open('%s.txt','w') % h1
f.write(h1)
Ожидаемый результат: Создание файла под названием Census Block 970900-1-001 in Cortland County, New York.txt
Фактический выход:
Unsupported operand type for %: 'file' and 'unicode'
D'Oh! Спасибо, @mgilson! – n1c9
@ n1c9 - Происходит к лучшему из нас. Трюк заключается в том, чтобы научиться внимательно читать трассировку. Я не могу сказать, сколько часов в моей жизни я потратил впустую на отслеживание ошибок, которые было бы легко найти, если бы я только внимательно прочитал трассировку. , , – mgilson