命令行的随机数据生成器

fakr的Python项目详细描述


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

随机数据,同性恋!

fakrstdin读取jinja2模板,使用词汇表呈现它,并将结果写入stdout。就这么简单……

安装

$ pip install fakr

基本用法

$ fakr --help

示例

生成一个包含10万行的简单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 Templates。有关详细信息,请参阅他们的参考资料。

有一些自定义过滤器、函数和变量可用于fakr:

自定义筛选器:

  • ascii:将值转换为ascii(使用Unidecode)(即{{lastname|ascii}}
  • shuffle:随机洗牌值(即{{lastname|shuffle}}
  • chance:使值有机会从0.0返回到1.0(即{{firstname|chance(0.9)}}-firstname将返回90%,10%为空)
  • rjust:右对齐给定的值(即{{company|rjust(40)}}
  • ljust:左对齐给定的值(即{{company|ljust(40)}}
  • center:使值的宽度居中(即{{company|center(40)}}
  • hash:使用给定的哈希算法(即{email hash('md5')})计算哈希值

自定义函数:

  • translate
  • uuid4:每次调用时返回一个新的uuidv4(即{{uuid4()}}
  • unixtime:以秒为单位返回当前unixtime(即{{unixtime()}}

固定(词汇独立)变量:

  • row:当前数据集的行(从0开始)
  • id:当前数据集的ID或序列号
  • guid:以类似uuid的方式表示id

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java无法使用JAXB配置Moxy   java如何让我的简单Swing telnet客户端正确显示字符?   java中从可运行线程调用主线程的多线程处理   java数据源。EBJ3会话bean中的getConnection()   使用java和正则表达式从xml文件提取值时出现问题   java定制Jersy胡须Mvc   在Java中,“限制并发”是什么意思?   java有没有更干净的方法可以在这里使用Optional,而不在三个地方返回“NA”?   java Tomcat启动,然后崩溃,除非我打电话   java理解客户机和服务器   java时间戳将在视图对象>实体转换期间丢失   如何在java中返回布尔值(基元)?   java使用spring mvc设置日志记录,希望仅对我的代码进行跟踪/调试   用Jackson解析嵌套对象