تولید کلمات تصادفی معنادار

برای پر کردن یکی از فیلدهای دیتابیس به یه مجموعه زیادی از کلمه نیاز داشتم تا بتونم دیتابیس رو با کلمات بامعنی پر کنم. مسلما راه‌های زیادی به دست اوردن این اطلاعات هست ولی چیزی که برای من جالب بود این بود که پاسخ مشکل در واقع در خود سیستم من وجود داشت و لازم نبود کار خاصی انجام بدم.

راه حل بسیار ساده بود، فایل usr/share/dict/words که برای چک کردن اسپل توسط برنامه‌های مختلف استفاده می‌شه محتوی اسپل درست کلمات زیادی هست (برای من ۹۹۱۷۱ کلمه بود) پس فقط کافیه این فایل رو خوند و از کلماتش استفاده کرد. مزیتی که این فایل داره اینه که ساختار پیچیده‌ای نداره و یک فایل تکست معمولیه که تو هر خط یک کلمه قرار داده شده. چند خط ابتدایی این فایلی رو اینجا می‌تونید ببینید:

برای این که از این فایل یک کلمه شانسی بکشید بیرون می‌تونید توی شل بزنید:

در اینجا هم این قطعه کوچیک کد پایتون رو قرار دادم، این کد فایل رو تبدیل به یه لیستی از کلمات می‌کنه و اون‌ها رو به هم میریزه، شما هر جا لازم باشه از یکی از این کلمات استفاده کنید کافیه یکی از آیتم‌های لیست رو pop کنید.

اگه به جای کلمات انگلیسی به کلمات فارسی نیاز داشته باشد توی اوبونتو پکیج myspell-fa رو نصب کنید، فایل دیکشنری در آدرس usr/share/myspell/dicts/fa.dic قرار داره.