改变命运的三个层次

2018年5月20日 18:48

人有念头所以有命运,改变念头就能改变命运。改变方法有三个层次。
 
  • 第一层,无念
 
人能做到无念,自然不会受命运束缚。属于圣人的层次,一般人做不到。
 
  • 第二层,一念代替一切念。
 
将念头集中在善念上,恶念生不出来,自然能改命运。如同考试时,念头集中在考试上,此时只有考试的念头,其它种种贪念都不会起来。但是考完之后,其它各种念头都出来。普通人无法长久保持这种状态。所以这也不是普通人能做到。
 
  • 第三层,加强正念,削弱邪念。
 
比如,有一种强大的坏习惯(抽烟、饮酒、赌博、等等...),一般人是改变环境,这是无用的。因为念头是根本原因,念头太强烈,改变环境根本无用。
只有加强与它相反的正念,正念产生正果,正念的力量越强,坏念升起时,正念能削弱它甚至消灭它,经过几年后,坏习惯自然而然就没有了。
 

评论(0) 阅读(418)

zfill自动补0

2018年5月19日 17:14

python提供了zfill(zero fill)函数自动为字符串前面补0
>>> "5".zfill(2)  #2表示字符串宽度
'05'
 
《寿康宝鉴》有声书

 

评论(0) 阅读(552)

iconv修改文件编码

2018年5月17日 11:21

  • 查看文件编码
➜  ~ file a.py
a.py: ASCII text
 
  • 编码转换
 
iconv a.py -f ascii -t utf-8 -o b.py --verbose

-f,from-coding 源文件编码
-t,to-coding  输出文件编码
-o 输出文件
 
大字符集转为小字符集,会有内容丢失,并且报错,如utf-8有中文时转为ascii
 
  • 查看已知字符集
iconv -l
 

 

Tags: linux
评论(0) 阅读(418)

python常见编码错误集合

2018年5月17日 11:08

  • 错误1:变量加载到内存出现编码错误
文件内容
a="中国"
print a

#报错
➜  ~ python a.py
  File "a.py", line 1
SyntaxError: Non-ASCII character '\xe4' in file b.py on line 1, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details
编译会读取变量a存到内存,因为包含中文,转化为str(ascii默认编码)报错
磁盘字节串utf-8-->无法转为内存字节串str(ascii)
 
  • 错误2:str直接encode报错
>>> sys.getdefaultencoding()
'ascii'
>>> a="中国"
>>> a.encode("gbk")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe4 in position 0: ordinal not in range(128)
>>> b=u"中国"
>>> b.encode("gbk")
'\xd6\xd0\xb9\xfa'
变量a的类型是str(utf-8字节串),会自动调用decode(默认编码ascii),转为unicode,再调encode
按照默认编码去decode变量utf-8编码字节串会报错
 
 
  • 错误3:编码相互转换报错
>>> "中国".decode("utf-8").encode("ascii")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)
>>> "中国".decode("utf-8").encode("gbk")
'\xd6\xd0\xb9\xfa'
>>> "a".decode("utf-8").encode("ascii")
'a'
 
ascii是utf-8的子集合,小集合转换大集合没有问题
大集合转为小集合就报错不支持
 
  • unicode不能再decode
>>> a = "中国"
>>> b = a.decode("utf-8")
>>> b
u'\u4e2d\u56fd'
>>> b.decode("utf-8")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib64/python2.7/encodings/utf_8.py", line 16, in decode
    return codecs.utf_8_decode(input, errors, True)
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)
 
  • 总结
理解编码错误时,首先要判断str时以什么编码存放在内存中的,然后判断是否符合转换公式(str-(decode)->unicode-(encode)->str)。
判断方法,在python2中用len(str)或者bytes(str)可以判断,中文utf-8占3个字节,gbk占2个字节,ascii占一个字节。
 
印光大师十念法(胡小林主讲第1集)
此生必看的科学实验-水知道答案

 

评论(0) 阅读(349)

python2字符串在内存中如何存放

2018年5月14日 14:07

  • str类型
存在磁盘上的格式与存在内存中格式一致,例如ascii编码占一个字节,utf-8编码中文3个字节,英文1个字节
gbk编码中文2个字节,英文一个字节
 
注意python2是不会自动转换成unicode格式
 
  • unicode类型
python2用来支持多语言,不同编码类型的str转换需要通过它
unicode表示字符串属于逻辑层面,字节串(str)表示存放格式属于物理层面,如ascii,utf-8,gbk属于字节串
 
  • ascii在内存中字节数(utf-8/gbk同样1个字节)
>>> sys.getsizeof("a")       #pyton做了包装,包含了其它数据内容
38
>>> sys.getsizeof("aa") - sys.getsizeof("a")   # 将字符重复一个求差值,可知单个字符长度
1
 
  • unicode在内存中长度(python2中4个字节)
>>> sys.getsizeof(u"aa") - sys.getsizeof(u"a")   #python2中4个字节、python3中2个字节
4
>>> sys.getsizeof(u"你你") - sys.getsizeof(u"你")
4
 
  • utf-8长度(3个字节)
>>> a1,a2="a".encode("utf-8"),"aa".encode("utf-8")
>>> sys.getsizeof(a2) - sys.getsizeof(a1)  #英文一个字节
1

>>> b1,b2="你".decode("utf-8").encode("utf-8"),"你你".decode("utf-8").encode("utf-8")
>>> sys.getsizeof(b2) - sys.getsizeof(b1)   #中文三个字节
3
同样的方法可以知道gbk英文一个字节,中文2个字节
 
 
印光大师十念法(胡小林主讲第1集)

 

Tags: python
评论(0) 阅读(403)

gbk英文字符占几个字节

2018年5月14日 12:24

  • gbk英文字符占几个字节
➜  ~ python3
>>> bytes("你", "gbk")
b'\xc4\xe3'
>>> bytes("a", "gbk")
b'a'
>>> bytes("你", "utf-8")
b'\xe4\xbd\xa0'
>>> bytes("a", "utf-8")
b'a'
gbk中文2个字节,英文1个字节;utf-8中文3个字节,英文1个字节
 
  • 字符占几个字节
英文字母:
字节数 : 1;编码:GB2312
字节数 : 1;编码:GBK
字节数 : 1;编码:GB18030
字节数 : 1;编码:ISO-8859-1(latin-1)
字节数 : 1;编码:UTF-8
字节数 : 4;编码:UTF-16
字节数 : 2;编码:UTF-16BE
字节数 : 2;编码:UTF-16LE


中文汉字:
字节数 : 2;编码:GB2312
字节数 : 2;编码:GBK
字节数 : 2;编码:GB18030
字节数 : 1;编码:ISO-8859-1(latin-1)
字节数 : 3;编码:UTF-8
字节数 : 4;编码:UTF-16
字节数 : 2;编码:UTF-16BE
字节数 : 2;编码:UTF-16LE
 
 
印光大师十念法(胡小林主讲第1集)

 

Tags: python
评论(0) 阅读(367)

redis视频地址

2018年5月09日 15:38

  • 尚硅谷Redis视频(百度云)

https://pan.baidu.com/s/1ZpnnCE6VBNX_pzTEdbtRxQ

  • 密码

29cy

Tags: redis
评论(0) 阅读(355)

函数默认值初始化引起的问题

2018年3月30日 17:58

函数的默认值只会创建一次,之后不会再变了,使用对象(列表、字典、实例)作为默认值,会导致函数混乱
  • 官方说明
  • 示例
def f(a, L=[]):
    L.append(a)
    return L
for i in range(3):
    print f(i)
#输出
[0]
[0, 1]
[0, 1, 2]
  • 规避方法
def f(a, t=None):
    t = t or []
    t.append(a)
    return t
 
印光大师十念法(胡小林主讲第1集)

 

评论(0) 阅读(714)

vmware挂载共享目录

2018年1月17日 21:24

一直使用virtualbox来跑虚拟机,它访问宿主机的共享目录速度太慢。改用vmware,它的速度基本满足我的需求。

  • 环境

物理机器装win10,vmware 14里面装fedora27系统

  • 安装VMware Tools
  • 查看共享目录
vmware-hgfsclient
  • 查看用户id
[wyq@localhost ~]$ id wyq
uid=1000(wyq) gid=1000(wyq) 组=1000(wyq)
  • 手动挂载
sudo vmhgfs-fuse .host:/wyq  /home/wyq/me  -o allow_other,uid=1000,gid=1000,umask=022
  • 测试配置是否正确,防止配置错误,导致系统无法启动
mount -a
  • 设置开机自动挂载。打开文件/etc/fstab,增加配置。
.host:/wyq             /home/wyq/me             fuse.vmhgfs-fuse   allow_other,uid=1000,gid=1000,umask=022   0 0

注意: 挂载失败可能导致无法进入系统,可以进入拯救模式把配置改回来
 

百病之源
https://v.qq.com/x/page/o0359x7oy11.html
借钱享受 祸患无穷
http://v.youku.com/v_show/id_XMjg0Mjg4MTA2OA

评论(0) 阅读(1494)

git-svn克隆太慢

2018年1月13日 22:01

git-svn默认是从第一个svn版本开始克隆,直到最后一个版本。

  • 默认克隆每个版本
git svn clone  svn_url
  • 仅克隆最新版本
git svn int  svn_url
git svn fetch -r HEAD         #HEAD代表最新版本
git svn fetch -r svn_number   #获取指定的svn版本
 
百病之源

 

评论(0) 阅读(1417)