前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >技巧收集-M1709

技巧收集-M1709

作者头像
青南
发布2019-01-09 15:40:33
3800
发布2019-01-09 15:40:33
举报
文章被收录于专栏:未闻Code未闻Code

2017.09

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


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

代码语言:javascript
复制
ls -lh

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

代码语言:javascript
复制
sed -e '10000,50000d' xxx.txt > new_xxx.txt  //删除xxx.txt的第10000行到50000行的所有内容,并将结果保存到new_xxx.txt

切分超大文本文件

代码语言:javascript
复制
split -b 2G -d -a 2 deletelines.txt  da  //把超大文件切分为多个文件,每个文件2GB,前缀为da,后缀为2位数字

修改Linux当前用户密码

代码语言:javascript
复制
passwd

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

代码语言:javascript
复制
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警告

代码语言:javascript
复制
import requests
requests.packages.urllib3.disable_warnings()

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

2017.07

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

代码语言:javascript
复制
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的事务:

代码语言:javascript
复制
// 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来更新数据:

代码语言:javascript
复制
from bson.objectid import ObjectIdimport pymongo
conn = pymongo.MongoClient().XX.YY
conn.update({'_id': ObjectId('adf84a8fafasf3213'), {'$set': {'name': 'aaa'}}})

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

代码语言:javascript
复制
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信息。

代码语言:javascript
复制
class XXXItem(Item):
    name = Field()
    age = Field()
    def __repr__(self):
        return '======data has been stored.======='

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

代码语言:javascript
复制
:set paste

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


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

代码语言:javascript
复制
import logging
from selenium.webdriver.remote.remote_connection import LOGGER
LOGGER.setLevel(logging.WARNING)
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-09-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 未闻Code 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 2017.09
  • 2017.08
  • 2017.07
  • 2017.06
  • 2017.05
  • 2017.04
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档