Python 转换15位身份证号码到18位

2018年2月13日 没有评论

分类: Python 标签:

解决Python 使用 pip 安装 pylint 失败的问题

2018年2月3日 没有评论

这几天在使用 Sublime Text 写 python 代码,然后开个cmd 去跑结果,想加个智能提示,搜索了下还是觉得麻烦,想要更懒一点的版本。

打开了一次都没有使用的Pycharm,结果提示要升级,不知道什么原因一直卡着进度条,这个工具好是好就是大了些。于是一时愤懑,把 Pycharm 给卸载了,去下载了 Visual Studio Code 安装,打开时提示还要安装 pylint,点击安装结果出错了。

还以为是哪里出问题了,就在命令行里再执行了一遍,发现还是出错。

网上搜索了一圈,一个比较快速的方法是按照错误提示修改文件,打开本地的 Python\Lib\site-packages\pip\compat\__init__.py 文件,在大约 75行的位置,将 “utf_8″修改为“gbk”,保存,重新安装 pylint,就成功了。

我为了保险起见,把文件给改回成 “utf_8″了,奇怪的是为什么这里要使用下划线而不是连接符。

一直没有安装 Visual Studio Code的原因是觉得 LiteIDE 已经很不错了,现在还是入了 Visual Studio Code的坑啦。

分类: 一句话, 日常 标签:

Win10 隐藏“我的电脑”文件夹的库图标

2018年2月3日 没有评论

包括“视频”、“音乐”在内的库快捷方式我是很少使用,所以平时都给隐藏了起来,可是在一些打开文件的对话框中默认并没有收起来,所以想要一个妥善的解决方法。

保存下面的内容为批处理,然后管理员权限运行。

::隐藏此电脑中3D 对象、视频、图片、文档、下载、音乐、桌面七个文件夹
Reg add “HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{31C0DD25-9439-4F12-BF41-7FF4EDA38722}\PropertyBag” /v “ThisPCPolicy” /t REG_SZ /d “Hide” /f
Reg add “HKLM\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{31C0DD25-9439-4F12-BF41-7FF4EDA38722}\PropertyBag” /v “ThisPCPolicy” /t REG_SZ /d “Hide” /f

Reg add “HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{35286a68-3c57-41a1-bbb1-0eae73d76c95}\PropertyBag” /v “ThisPCPolicy” /t REG_SZ /d “Hide” /f
Reg add “HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{35286a68-3c57-41a1-bbb1-0eae73d76c95}\PropertyBag” /v “ThisPCPolicy” /t REG_SZ /d “Hide” /f

Reg add “HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{f42ee2d3-909f-4907-8871-4c22fc0bf756}\PropertyBag” /v “ThisPCPolicy” /t REG_SZ /d “Hide” /f
Reg add “HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{f42ee2d3-909f-4907-8871-4c22fc0bf756}\PropertyBag” /v “ThisPCPolicy” /t REG_SZ /d “Hide” /f

Reg add “HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{7d83ee9b-2244-4e70-b1f5-5393042af1e4}\PropertyBag” /v “ThisPCPolicy” /t REG_SZ /d “Hide” /f
Reg add “HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{7d83ee9b-2244-4e70-b1f5-5393042af1e4}\PropertyBag” /v “ThisPCPolicy” /t REG_SZ /d “Hide” /f

Reg add “HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{0ddd015d-b06c-45d5-8c4c-f59713854639}\PropertyBag” /v “ThisPCPolicy” /t REG_SZ /d “Hide” /f
Reg add “HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{0ddd015d-b06c-45d5-8c4c-f59713854639}\PropertyBag” /v “ThisPCPolicy” /t REG_SZ /d “Hide” /f

Reg add “HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{a0c69a99-21c8-4671-8703-7934162fcf1d}\PropertyBag” /v “ThisPCPolicy” /t REG_SZ /d “Hide” /f
Reg add “HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{a0c69a99-21c8-4671-8703-7934162fcf1d}\PropertyBag” /v “ThisPCPolicy” /t REG_SZ /d “Hide” /f

Reg add “HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{B4BFCC3A-DB2C-424C-B029-7FE99A87C641}\PropertyBag” /v “ThisPCPolicy” /t REG_SZ /d “Hide” /f
Reg add “HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{B4BFCC3A-DB2C-424C-B029-7FE99A87C641}\PropertyBag” /v “ThisPCPolicy” /t REG_SZ /d “Hide” /f

分类: 一句话, 日常 标签:

解决 Python 3 调用 Redis 字符串显示 b 前缀的问题

2018年2月2日 没有评论

昨天有按照网上的教程去使用 Python 调用Redis ,代码很简单,就像下面这样子:

但是,运行后的结果显示  b’python’ ,多了一个b,但是获取字符长度的确又是对的,觉得很是奇怪。

今天有向同事妹子请教,后来得出的结论是用回 python 2.7。和妹子继续搜索,发现了解决方法:sys.stdout.buffer.write(r.get(“name”)) ,这么一来需要再引入 sys 库,而且需要自己添加换行符了。

继续搜索,我们可以使用 print(r.get(‘name’).decode(‘utf-8’)),即解码一下然后再显示。稍微好了一点,但是每次要读取 Redis 数值的时候,都要这么来转换下确实显得有点猥琐。

我在想,一定还有更简单的方式。最后看到 stackoverflow 和简书上也讨论了这个事情,有一个剑走偏锋的设置,就是在数据库的连接字符串里多添加一个参数 decode_responses=True,这么一来就会自动将 response 解码。这么做大多数情况下是没有问题的,需要额外注意的是,如果保存在 Redis 数据库里的原始数据就是二进制的,那么通过这种方式,可能得不到自己想要的结果。

在实际运用的时候,就可以灵活考虑了,适当的时候综合使用这两种方式。

 

分类: Python 标签: ,

如何移除远程桌面的历史记录

2018年1月19日 没有评论

今天衣服自己洗突然想起来还有一个事情没有处理,就是清理电脑上远程桌面的历史记录。

这倒不是出于隐私考虑,而是里面的一些 IP 地址都是内网地址,服务器随着位置的迁移,会产生新的IP地址,以前旧的地址就无效了。以前也有考略过要不要去和 IT 申请一个固定 IP 会比较舒服点,看到复杂的审批流程,最后还是放弃了。

我用了大朋友的域名,添加了域名解析,在每次 IP 发生变化时,更新DNS解析就好了。除了生效慢一点,其它还好。就是其它的同学都被迫记录大朋友的域名,哈哈。扯远了。

其实也很简单,注册表打开 HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Default 路径,就会在右边发现一串列表,以MRU+数字索引的方式命名,可劲地删除它们就可以了。实际操作发现,删除后即使索引顺序不连续也没有关系。

连注销都不需要,直接生效。

分类: 一句话 标签:

pip 的安装

2018年1月10日 没有评论

在前面的《Ubuntu安装Shadowsocks》一文中,衣服自己洗简单地使用了apt-get来安装pip,但是这样会有一个问题,其依赖于本机安装的python版本,对于目前的ubuntu系统而言,都是默认安装的2.7的版本,对应的pip版本也是python 2.7的,我们需要主动使用python3。

首先安装python 3

sudo apt-get install python3,然后我们需要替换默认的python命令以指向新的3.5,删除/usr/bin/python 这个软链接,重新创建 sudo ln -s /usr/bin/python3.5 /usr/bin/python。

接下来就是正文了。

curl “https://bootstrap.pypa.io/get-pip.py” -o “get-pip.py”
python get-pip.py
pip install –upgrade pip
pip install shadowsocks

所以,让我们运行上面的命令,来安装pip和shadowsocks吧。

分类: Python, 一句话 标签:

压缩 Golang 编译的可执行文件体积

2018年1月1日 没有评论

自从接触 Golang 以来,一直对其编译出来的可执行文件有点看法,因为体积比较大。使用 go build av.go,编译简单的代码出来后就有近8M,当然,这是因为把 Go 的运行时环境也给打包进去了的原因,为了几k的源码实在是不划算,特别是在香蕉派/Firefly这些磁盘空间紧张的设备上面。

今天有搜索一下解决方法,Golang 的先行者给出的思路一共分为2步。

第一步,添加编译符号。

go build -ldflags “-s -w” av.go

-s 相当于strip掉符号表, 但是以后就没办法在gdb里查看行号和文件了。
-w 告知连接器放弃所有debug信息

衣服自己洗是使用 LiteIDE 来编写go代码的,按照下图添加即可,注意不要忘记添加引号,不然编译是无法通过的。

这样一来,编译后的文件就是5M多,看起来还是有点效果。

第二步,我们使用UPX来进一步压缩,其地址为 https://github.com/upx/upx,下载对应的版本即可。使用起来也很简单,默认即为压缩,输入upx av.exe 即可。

-d 解压缩
-l 查看压缩前后信息

现在再看,体积已经到1.7M左右了,效果很明显,就问你惊不惊喜,意不意外。

由于以前有木马病毒也使用UPX来加壳,导致现在杀毒软件对UPX不太友好。如果是部署在服务端或者Linux系统应该还好,特别是面向windows用户发布的,各位同学请慎重,可以考虑添加数字签名。至于如何使用数字签名,可以参考我的另外一个帖子。

对于产线的 Release 编译,使用自动化工具来做这个事情,应该都是小菜一碟了,就不提了。

分类: Golang, 日常 标签: , ,

W: mdadm: /etc/mdadm/mdadm.conf defines no arrays

2017年12月31日 没有评论

最近发现在执行Ubuntu的升级时,每次都可以看到W: mdadm: /etc/mdadm/mdadm.conf defines no arrays这样的错误提示。

网上查询了下,发现解决起来比较简单:

  1. sudo rm /etc/mdadm/mdadm.conf
  2. sudo update-initramfs -u
  3. sudo reboot
分类: 一句话 标签:

解决VMware Pro 14虚拟机黑屏

2017年11月11日 没有评论

最近有把VMware 12升级到14版本,升级后发现虚拟机显示黑屏了,根据现象似乎虚拟机是正常运行的,只是无法看到而已。

网上找了很久没有知道解决方法,在快要放弃的时候发现了解决方法。

那就是重置 LSP 网络,大家可以使用各种管家来重置,也可以在管理员权限下运行下面的命令:

netsh winsock reset

稍等后,重启系统即可。

分类: 一句话 标签: , ,

Ubuntu安装Shadowsocks

2017年10月5日 1 条评论

以前准备安装VPN的,后来发现怎么都连接不上去,遂放弃。现在有更好的解决方案了。首先在安装前先更新下系统,然后

1, sudo apt-get install python-pip

安装完成后,可以查看pip 的版本号:pip -V

2, sudo pip install shadowsocks

3, 编辑vi /etc/shadowsocks.json

{
“server”:”IP”,#你的服务器IP
“server_port”:8389, #你要开放的接口
“password”:”******”, #密码
“timeout”:300,
“method”:”aes-256-cfb”,
“fast_open”:true,
“workers”: 1
}

4, 启动服务 sudo ssserver -c /etc/shadowsocks.json -d start

5, 加入到开机启动,编辑/etc/rc.local,exit 0之前加入上面启动服务那句话。

6,配置客户端就可以上网啦。

分类: 一句话 标签: