В Python 3 вы можете использовать функцию печати для записи данных в файл (например, print('my data', file=my_open_file)
.Это хорошо и хорошо (и очень круто). Но можете ли вы print
на (? строка) переменная Если да, то какPython 3 print() для переменной
в моем конкретном случае использования, я пытаюсь не писать данные в TempFile на диске просто включить и прочитать, что временный файл
Edit:?. I 'm не может просто назначить, потому что мои исходные данные не являются строкой, а скорее являются частью дерева документов html, как извлечено BeautifulSoup. После того, как я извлечу дерево документа, я буду обрабатывать его по строкам.
Мой код: (работает сейчас)
with open("index.html", "r") as soup_file:
soup = BeautifulSoup(soup_file)
THE_BODY = soup.find('body')
not_file = io.StringIO()
print(THE_BODY, file = not_file) # dump the contents of the <body> tag into a file-like stream
with codecs.open('header.js', "w", "utf-8") as HEADER_JS:
for line in not_file2.getvalue().split('\n'):
print("headerblock += '{}'".format(line), file = HEADER_JS)
Лучше, Рабочий код:
with open("index.html", "r") as soup_file:
soup = BeautifulSoup(soup_file)
with codecs.open('header.js', "w", "utf-8") as HEADER_JS:
for line in str(soup.find('body')).split('\n'):
print("headerblock += '{}'".format(line), file = HEADER_JS)
Почему бы вам не просто назначить вместо этого? –
@ IgnacioVazquez-Abrams Возможно, вы хотите, чтобы co захватил вывод функции в строку, которая печатает в файл. – SethMMorton
Я смущен относительно того, какая разница между печатью в строку и просто назначением строки. Разве конечный результат не одинаковый в обоих случаях? – csmckelvey