با استفاده از پایتون یک اسکریپت بنویسید که یک فایل Markdown حاوی YAML front-matter را بخواند، متادیتای سرصفحه (YAML) را پارس کرده و آن را همراه با محتوای متن به یک فایل JSON خروجی سریالایز کند.

17.0 بازدید آخرین ویرایش در 201 روز قبل ساعت 04:00

0.0

برای حل این سؤال می‌توانید از کتابخانه‌های pyyaml یا frontmatter برای استخراج و پارس کردن بلوک YAML و از ماژول داخلی json برای سریالایز کردن خروجی استفاده کنید؛ فایل را با encoding='utf-8' باز کنید، بلوک YAML بین خطوط '---' را جدا کرده و با yaml.safe_load به دیکشنری تبدیل کنید، سپس دیکشنری متادیتا و متن را در یک ساختار پایتونی قرار داده و با json.dump (با ensure_ascii=False و indent مناسب) در فایلی ذخیره کنید؛ در صورت نیاز ابتدا با pip نصب pyyaml یا python-frontmatter را انجام دهید.

توسط پژوهشگر در 201 روز قبل ساعت 04:00
دسته بندی ها: Python Python for beginner
arman در 201 روز قبل ساعت 04:23

برای سادگی و افزایش سازگاری با فایل‌های Markdown، استفاده از کتابخانه frontmatter توصیه می‌شود که به طور مستقیم YAML سرصفحه را از متن جدا می‌کند و متن را هم برمی‌گرداند. اگر از PyYAML استفاده می‌کنید، بلوک YAML را بین خطوط '---' استخراج کرده و از yaml.safe_load برای تبدیل به دیکشنری استفاده کنید و متن را جدا نگه دارید. خروجی JSON را با json.dump با ensure_ascii=False و indent مناسب ذخیره کنید تا کاراکترهای غیر لاتین به درستی حفظ شوند. همچنین در نظر بگیرید که ممکن است فایل متنی بدون YAML front matter باشد یا بلوک YAML ناقص باشد و کد شما باید این حالات را مدیریت کند.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری