Có cách nào để xác định chiều rộng thụt lề tùy chỉnh cho chức năng .prettify()
không? Từ những gì tôi có thể lấy từ nguồn của nó -Chiều rộng thụt lề tùy chỉnh cho BeautifulSoup .prettify()
def prettify(self, encoding=None, formatter="minimal"):
if encoding is None:
return self.decode(True, formatter=formatter)
else:
return self.encode(encoding, True, formatter=formatter)
Không có cách nào để chỉ định chiều rộng thụt lề. Tôi nghĩ rằng đó là vì dòng này trong decode_contents()
chức năng -
s.append(" " * (indent_level - 1))
nào có chiều dài cố định trong tổng số 1 không gian! (TẠI SAO !!) Tôi đã thử chỉ định indent_level=4
, điều đó chỉ dẫn đến kết quả này -
<section>
<article>
<h1>
</h1>
<p>
</p>
</article>
</section>
Trông chỉ đơn giản là ngu ngốc. : |
Bây giờ, tôi có thể hack điều này đi, nhưng tôi chỉ muốn chắc chắn nếu có bất cứ điều gì tôi đang thiếu. Bởi vì đây nên là một tính năng cơ bản. : -/
Nếu bạn có một số cách tốt hơn để tạo mã HTML, hãy cho tôi biết.
Trong câu trả lời cho câu hỏi phụ của bạn ("TẠI SAO!"): HTML và XML có xu hướng rất, lồng nhau rất sâu, và tôi đoán những kẻ xấu như cửa sổ 80 cột. Nhưng bạn có thể muốn đăng lên danh sách/nhóm gửi thư và/hoặc gửi một lỗi yêu cầu tính năng này (và vì bản vá khá đơn giản — và ramabodhi đã viết khá nhiều cho bạn - bạn nên đưa nó vào email/lỗi của mình bài báo cáo). – abarnert
Có vẻ như ai đó đã gửi một bản vá tương tự với 3,2 đến danh sách gửi thư cách đây vài năm. Xem [tại đây] (https://groups.google.com/forum/?fromgroups=#!topic/beautifulsoup/B4qryJpJqpY). – abarnert
"Thụt lề 1-không gian trông chỉ đơn giản là ngu ngốc.: |" - Cảm ơn bạn. Đây là chính xác những gì tôi đã suy nghĩ khi tôi đang tìm kiếm vấn đề này. – Brandin