RandomWords
Ostatnio potrzebne było mi wypełnić bazę testowymi danymi. Byle jakimi. Oczywiście pierwsze co to wszedłem na pierwszą lepszą stronę generującą lorem ipsum i jazda z ctrl+c, ctrl+v. Można, owszem, ale tylko wtedy gdy masz do wypełnienia mało komórek w bazie. Problem jest gdy tych komórek musisz wypełnić 100-1000. Metoda ctrl+c, ctrl+v nie jest wtedy fajna ;)
Oczywiście od razu poszperałem po sieci w celu znalezienia jakiegoś ciekawego generatora słów, zdań, etc. Ale nic co spełniałoby moje oczekiwania nie znalazłem. No trudno, to zrobię swoje narzędzie.
Główne założenia były takie:
- losowanie słowa z jakiegoś zakresu
- losowanie słowa zaczynającego się na pewną literę
- losowanie pewnej ilości słów i zwracanie ich w postaci listy
- losowanie pewnej ilości słów rozpoczynających się od pewnej litery
Przykłady użycia:
Co dalej? Co jest jeszcze do zrobienia?
Oj, bardzo dużo. Pierwsze co dodam w następnej poprawce to generowanie nicków. Później zajmę się generowaniem lorem ipsum i jakimiś prostymi zdaniami. Wszystko po to, aby wygenerowane dane przypominały te, które wprowadzają użytkownicy do baz danych.
Dzięki temu nie dostaniesz oczopląsu od kolejnego rekordu w stylu "asdhiofuqpfnasduixczvlbzxch" :)
>>> from random_words import RandomWords
>>> rw = RandomWords()
>>> word = rw.random_word()
>>> print word
factors
>>> word = rw.random_word('y')
>>> print word
yards
>>> words = rw.random_words(count=10)
>>> print words
['runs', 'experience', 'comments', 'freedom', 'permit', 'honks', 'pins', 'texts', 'grant', 'fathers']
>>> words = rw.random_words(letter='r', count=5)
>>> print words
['raincoat', 'reactance', 'room', 'relocation', 'rudders']
>>> words = rw.random_words(letter=None, count=2)
>>> print words
['tides', 'eights']
Co dalej? Co jest jeszcze do zrobienia?
Oj, bardzo dużo. Pierwsze co dodam w następnej poprawce to generowanie nicków. Później zajmę się generowaniem lorem ipsum i jakimiś prostymi zdaniami. Wszystko po to, aby wygenerowane dane przypominały te, które wprowadzają użytkownicy do baz danych.
Dzięki temu nie dostaniesz oczopląsu od kolejnego rekordu w stylu "asdhiofuqpfnasduixczvlbzxch" :)
Comments
Post a Comment