2017.09

在macOS中直接复制文件路径,在Finder中选中文件,按下快捷键:Command + Option + C


以KB,MB,GB方式显示文件大小

ls -lh

删除超大文本文件的特定行数

sed -e '10000,50000d' xxx.txt > new_xxx.txt  //删除xxx.txt的第10000行到50000行的所有内容,并将结果保存到new_xxx.txt

切分超大文本文件

split -b 2G -d -a 2 deletelines.txt  da  //把超大文件切分为多个文件,每个文件2GB,前缀为da,后缀为2位数字

修改Linux当前用户密码

passwd

使用Python打开一个未知编码的文件:

with open("your_file", 'rb') as fp:
file_data = fp.read()
result = chardet.detect(file_data)
file_content = file_data.decode(encoding=result['encoding'])

2017.08

在SSH + Tmux中,如果想复制,按住Alt或者Option键再选择就可以复制了。


关闭requests的SSL警告

import requests
requests.packages.urllib3.disable_warnings()

在VIM中,Crtl + V Ctrl + A可以输出特殊符合^A,把A改为可以得到^M

2017.07

在Python中,pymongo的find方法返回的是一个生成器,只有在迭代的时候才会执行里面的具体代码去读MongoDB。但是在Golang的Mgo包中,如果想让Find返回一个迭代器而不是直接把所有结果全部返回,就需要手动指定:

type xInfo struct {
ID int `bson:"mt_poi_id"`
Count int `bson:"count"`
}
resultIter = m.handler.Find(nil).Select(bson.M{"_id": 0, "mt_poi_id": 1, "count": 1}).Iter()
var x xInfo
for resultIter.Next(&xInfo) {
fmt.Println(xInfo.Id)
fmt.Println(xInfo.Count)
}

2017.06

在Golang中,使用MySQL的事务:

// paraArray为一个channel,里面是更新所需要的参数
tx, _ := db.Begin()
for _, para := range paraArray{
tx.Exec("update.....", para)
}
tx.Commit()

由于更新MySQL会锁表,因此使用多个goroutine来更新MySQL,效果可能还不如直接在主线程中更新来的高。


在Golang中,使用goroutine太多反而会导致性能下降。

2017.05

在Python中,可以使用>或者>=来判断一个集合是不是另一个集合的子集。只有是子集才会返回True

2017.04

在MongoDB中,通过_id来更新数据:

from bson.objectid import ObjectId
import pymongo
conn = pymongo.MongoClient().XX.YY
conn.update({'_id': ObjectId('adf84a8fafasf3213'), {'$set': {'name': 'aaa'}}})

在Python 3中,计算两个日期相隔了多少秒:

import datetime

start = '2017-03-21 17:21:30'
end = '2017-03-21 18:10:13' start_datetime = datetime.datetime.strptime(start, '%Y-%m-%d %H:%M:%S')
end_datetime = datetime.datetime.strptime(end, '%Y-%m-%d %H:%M:%S') total_seconds = (end_datetime - start_datetime).total_seconds()

Scrapy中,通过覆写items.py中,每个item的__repr__方法,可以减少打印出来的Log信息。

class XXXItem(Item):
name = Field()
age = Field() def __repr__(self):
return '======data has been stored.======='

在VIM粘贴Python代码的时候,缩进会一不小心爆炸。为了避免这个问题,应该先在normal模式输入

:set paste

回车,再按i,再粘贴。这样Python的缩进就不会乱掉了。


Selenium的Debug级的Log有时候打得太多了,为了去掉Selenium的Debug Log又不影响其他部份的Debug Log,可以使用如下命令完成:

import logging
from selenium.webdriver.remote.remote_connection import LOGGER
LOGGER.setLevel(logging.WARNING)

技巧收集-M1709的更多相关文章

  1. DelphiXE2 DataSnap开发技巧收集

    DelphiXE2 DataSnap开发技巧收集 作者:  2012-08-07 09:12:52     分类:Delphi     标签: 作为DelphiXE2 DataSnap开发的私家锦囊, ...

  2. C#WebBrowser控件使用教程与技巧收集--苏飞收集

    C#WebBrowser控件使用教程与技巧收集--苏飞收集 先来看看常用的方法 Navigate(string urlString):浏览urlString表示的网址 Navigate(System. ...

  3. T-SQL技巧收集——拆分字符串

    原文:T-SQL技巧收集--拆分字符串 在开发中,很多时候都需要处理拆分字符串的操作.下面收集了几种方法供大家分享,其中的逗号可以改为多种有需要的符号,但是不能针对多种符号同时存在的例子.有待各位补充 ...

  4. sqlmap注入技巧收集

    收集了一些利用Sqlmap做注入测试的TIPS,其中也包含一点绕WAF的技巧,便于大家集中查阅,欢迎接楼补充.分享. TIP1 当我们注射的时候,判断注入 http://site/script?id= ...

  5. VS2008调试技巧收集备用

    VS2005调试技巧集合 http://blog.csdn.net/rainylin/archive/2007/09/06/1775125.aspx 下面有从浅入深的6个问题,您可以尝试回答一下 一个 ...

  6. Eclipse使用技巧收集

    因为学习Java相关,对Eclipse这个开发工具用的不习惯,许多操作以及快捷键在百度得到解决后下次又忘记了.有时使用VS又混淆了它的快捷键操作.所以写个备忘录持续更新收集平时遇到的操作. 导入项目, ...

  7. Sqlmap注入技巧收集整理

    TIP1 当我们注射的时候,判断注入 http://site/script?id=10http://site/script?id=11-1 # 相当于 id=10http://site/script? ...

  8. IntelliJ IDEA重构技巧收集

    https://segmentfault.com/a/1190000002488608(重命名文件) http://www.jianshu.com/p/ab298b46bf50(快速生成方法) htt ...

  9. javascript小技巧-js小技巧收集(转)

    本文转载自:http://blog.csdn.net/ocean20/article/details/2498699 每一项都是js中的小技巧,但十分的实用! 1.document.write(&qu ...

随机推荐

  1. Struts2学习笔记(九)——数据校验

    Struts2的数据校验属于服务器端校验,Struts2 支持校验方式 : 手动校验(代码校验) :在服务器端通过编写java代码,完成数据校验 自动校验(配置校验) :XML配置校验(主流) 和 注 ...

  2. Python常用排序算法

    1.冒泡排序 思路:将左右元素两两相比较,将值小的放在列表的头部,值大的放到列表的尾部 效率:O(n²) def bubble_sort(li): for i in range(len(li)-1): ...

  3. 8.20.1 图形化:弹窗JOptionPane

    最近在做swing程序中遇到使用消息提示框的,JOptionPane类其中封装了很多的方法. 很方便的,于是就简单的整理了一下. 1.1 showMessageDialog 显示一个带有OK 按钮的模 ...

  4. Centos 6.5 安装 python3.6.2、pip9.0.1、ipython6.1

    说明:由于Cenots 6.5 默认是安装的 python 2.6.6  要想同一台主机使用多个python版本,不能影响原来的版本,因为系统很多还依赖于python,比如 yum    python ...

  5. NTP原理及配置使用

    一.NTP简介 1.NTP简介   NTP(Network Time Protocol,网络时间协议)是用来使网络中的各个计算机时间同步的一种协议.它的用途是把计算机的时钟同步到世界协调时UTC,其精 ...

  6. SpringMVC(四)-- 文件下载、自定义拦截器、异常处理

    1.文件下载 用ResponseEntity<byte[]> 返回值完成文件下载 具体参见本博客之前的<文件上传下载> @RequestMapping(value=" ...

  7. Python学习笔记开篇

    已经快30岁了,中专学历,不会什么技术,因为好吃懒做最喜欢的就是吃肉睡觉. 每次想学习技术如PhotoShop,绘声绘影,PHP,易语言,按键精灵都只是3分钟热血. 今天我想在业余时间学习Python ...

  8. java多线程知识点概述

    这里只起一个概述的作用,极其简单的列一下知识点,需要在脑海中过一下,如果哪些方面不熟悉的话,建议利用网络资源去学习. 1.线程.进程概念 概念 线程状态及其转换 2.死锁.预防.解决 3.jdk线程实 ...

  9. 手工删除crfclust.bdb文件

    环境:RHEL 6.5 + Oracle 11.2.0.4 RAC 现象:巡检发现自己的测试环境节点2的空间使用率过高,进一步查询,发现大文件是GI目录下crfclust.bdb文件. crfclus ...

  10. C语言运算符运算顺序判断实例2

    #include <stdio.h> int main(void) { , j = , k = ; printf("%d\n", ++i || ++j &&am ...