命令行的随机数据生成器
项目描述
随机数据,fakrs!
fakr从stdin读取 Jinja2 模板,使用词汇表呈现它并将结果写入stdout。就这么简单…
安装
$ pip install fakr
基本用法
$ fakr --帮助
例子
生成一个包含 100k 行的简单 csv 文件
$ echo "{{row}},{{row%100}},{{firstname}},{{lastname}},{{email}}" \
| fakr --count 100000``
将文件用于复杂模板
$ cat examples/templates/vcard.tpl \ | fakr --count 1000
使用 curl 发出 http 请求:
$ echo "company={{company|urlencode}}&city={{city|urlencode}}" \
| fakr -c1 \
| curl httpbin.org/post -d @-
将数据写入redis服务器:
$ echo 'firstname \"{{firstname}}\" lastname \"{{lastname}}\" email \"{{email}}\"' \
| fakr \
| xargs -i redis-cli HMSET {}``
模板
您用于数据生成的模板是普通的Jinja2 模板。有关详细信息,请参阅他们的参考资料。
有一些自定义过滤器、函数和变量可用于 fakr:
自定义过滤器:
ascii:将值转换为 ascii(使用Unidecode)(即{{lastname|ascii}})
shuffle:随机打乱值(即{{lastname|shuffle}})
机会:给值一个从 0.0 到 1.0 的机会被返回(即{{firstname|chance(0.9)}} - 名字将被返回 90%,10% 为空)
rjust:将给定值右对齐(即{{company|rjust(40)}})
ljust:左对齐给定的值(即{{company|ljust(40)}})
center:将值以宽度居中(即{{company|center(40)}})
hash:使用给定的散列算法计算散列(即{{email|hash('md5')}})
自定义功能:
翻译
uuid4:在每次调用时返回一个新的 UUIDv4(即{{uuid4()}})
unixtime:以秒为单位返回当前的 unixtime 浮点数,(即{{unixtime()}})
固定(词汇独立)变量:
row : 当前数据集的行(从 0 开始)
id:当前数据集的id或序列号
guid:以类似 uuid 的方式表示id
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。
源分布
fakr-0.1.1.tar.gz
(78.6 kB
查看哈希)
内置分布
fakr-0.1.1-py3-none-any.whl
(78.5 kB
查看哈希)