python操作csv文件范例

简介

使用python正确操作csv文件,防止乱码

代码

import codecs
import csv

csv_filename = '/tmp/hoge.csv'

with open(csv_filename, 'wb') as f:
    f.write(codecs.BOM_UTF16_LE)

with codecs.open(csv_filename, 'ab', encoding = 'utf-16-le', errors = 'replace') as f:
    tsv = csv.writer(f, delimiter='\t')
    tsv.writerows(
        [
            ['aa', 'bb', 'cc'],
            ['xx', 'yy', 'zz'],
            ['这是', '测试', '中文', '行']
        ]
    )

junit的Rule使用方法介绍

简介

通过java annotations(注解)形式将TestRule或TestRule子类的实例添加到测试类中,来扩展各种测试功能。

环境

  • java 1.8
  • gradle

文件目录

.
├── main
│   ├── java
│   └── resources
└── test
    ├── java
    │   └── example
    │       ├── TestTemporaryFolder.java
    │       └── TestTestName.java
    └── resources

Continue reading

在js中仿java的枚举类型设计实例

简介

在javascript中,像EventTarget.addEventListener()Document.createElement() 等方法,只接收指定字符串作为参数。比如:

const okButton = document.getElementById("button_ok");
okButton.addEventListener('click', () => console.log('button_ok clicked!'), false);

在上述代码中,我们必须按Events 中所定义的类型字符串(如:click, load)传参,否则程序就不能正常工作。本文将介绍如何通过objectclass两种封装形式,分别实现枚举类型。
Continue reading

使用opencv查找两张图片不同的部分

简介

有一款游戏叫《大家一起来找茬》不知道大家有没有玩过,就是给出2张相似图片,在规定的时间内找出图片上有几处不同并标记出来。本文将介绍如何通过opencv替代肉眼快速找出准确的答案。

材料准备

  • 通过搜索引擎,找出要比较的素材。如下
    找茬素材1
  • 将素材裁剪成2张图片
// ubuntu 系统命令裁剪
convert -crop 50%x100% image01.jpg image01.png

上面命令将生成image01-0.pngimage01-1.png两张图片,至今素材准备完毕
Continue reading