Skip to main content

命令行的随机数据生成器

项目描述

https://beerpay.io/lx/fakr/badge.svg?style=beer https://badges.gitter.im/random-data-fakrs/Lobby.svg https://travis-ci.org/lx/fakr.svg?branch=master https://codecov.io/gh/lx/fakr/branch/master/graph/badge.svg

随机数据,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 查看哈希

已上传 source

内置分布

fakr-0.1.1-py3-none-any.whl (78.5 kB 查看哈希

已上传 py3