那些比你走得远的人,并不比你聪慧,只是每天多走了一点。坚持,是最强大的力量。

最近在生产环境中发现.git目录特别大,导致clone项目要等很久,严重影响工作效率,分析发现是项目目录下.git文件夹有1.4G之大,上网学习后总结如下:

阅读全文 »

Python简单易用,但有时候一些敏感信息不希望用户通过源码查看到,所以需要加密保证安全性。分析了一些加密方式最终决定使用cython加密源码,其实就是把py代码编译成C或者C++代码来执行,在Linux 上会生成.so二进制文件,Windows下为.pyd,所以还有一个作用是加速代码的执行效率。下例在CentOS7.6+Python3.74下测试通过。

阅读全文 »

convert的功能相当强大,先来个示例,再慢慢研究其它的功能

1
2
3
4
5
6
7
8
find /www/images  -regex '.*\(jpg\|JPG\|png\|PNG\|jpeg\)' -size +1000k -mtime -1 \
-exec convert -quality 75 {} {} \;
# 参数解释
/www/images # 要压缩图片的目录
-regex '.*\(jpg...|jpeg\)' # 正则匹配需要压缩的文件扩展名
-size +1000k # 要压缩图片的最小尺寸
-mtime -1 # -mtime -n +n (按文件更改时间来查找文件,-n指n天以内,+n指n天以前)
-quality 75 # 压缩后的图片质量
阅读全文 »

很简单,别忘了导入time模块

第一种方法:
1
2
3
4
5
import time
start = time.time()
(要执行的代码...)
end = time.time()
print ('添加任务用时:', end - start)
第二种方法
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# import time
# 函数运行时间装饰器
def run_time(func):
# 定义嵌套函数,用来打印出装饰的函数的执行时间
def wrapper(*args, **kwargs):
# 定义开始时间和结束时间,将func夹在中间执行,取得其返回值
start = time.time()
func_return = func(*args, **kwargs)
end = time.time()
# 打印方法名称和其执行时间
log.info(f'函数名:{func.__name__}() 执行时间: {end - start}s') #日志输出
print(f'函数名:{func.__name__}() 执行时间: {end - start}s') #打印输出
# 返回func的返回值
return func_return
# 返回嵌套的函数
return wrapper

大家知道,pip是Python中非常方便易用的安装包管理器,但是在实际下载安装包的时候经常会连接不上或者下载速度特别慢,将pip更换为国内源,可以大大的提高安装成功率和速度。

阅读全文 »