字符编码和模块初识

1.字符编码

在这里插入图片描述

2.模块初识

Python的强大之处在于他有非常丰富和强大的标准库和第三方库,几乎你想实现的任何功能都有相应的Python库支持,以后的课程中会深入讲解常用到的各种库,现在,我们先来象征性的学2个简单的。
2.1 sys模块

# Author:南邮吴亦凡

# sys模块
import sys
print(sys.path)  # 打印环境变量
print(sys.argv)   # 打印相对路径

在这里插入图片描述
2.2 os模块

# 文件、目录系统交互os

import os

os.system("dir")

smd_res = os.system("dir") # 只执行命令,但是结果不保存结果
cmd_res = str(os.system("dir"))  # 即使用str也没法转换,和上面一样
tmd_res = os.popen("dir")  # 内存的对象地址
amd_res = os.popen("dir").read()  # 从地址中读取对象

print("----->",smd_res,cmd_res,tmd_res,amd_res)

os.mkdir("new_dir")  # 创建新目录,在左侧的菜单栏

在这里插入图片描述

小福利:

详细文章:
http://www.cnblogs.com/yuanchenqi/articles/5956943.html

http://www.diveintopython3.net/strings.html
在这里插入图片描述
需知:
1.在python2默认编码是ASCII, python3里默认是unicode(utf-8),ascll码一个字符表示一个字节,占八个比特位,如果想在python2中可以编译汉字的话,就要在前面加下面图片第一行的注释,但是在python3中就不需要
在这里插入图片描述

2.unicode 分为 utf-32(占4个字节),utf-16(占两个字节),utf-8(可变长,占1-4个字节), so utf-16就是现在最常用的unicode版本, 不过在文件里存的还是utf-8,因为utf8省空间

3.在py3中encode,在转码的同时还会把string 变成bytes类型,decode在解码的同时还会把bytes变回string

例:

#-*-coding:utf-8-*-

import sys
print(sys.getdefaultencoding())


msg = "我爱北京天安门"
msg_gb2312 = msg.decode("utf-8").encode("gb2312")
gb2312_to_gbk = msg_gb2312.decode("gbk").encode("gbk")

print(msg)
print(msg_gb2312)
print(gb2312_to_gbk)
#-*-coding:gb2312 -*-   #这个也可以去掉
__author__ = 'Alex Li'

import sys
print(sys.getdefaultencoding())


msg = "我爱北京天安门"
#msg_gb2312 = msg.decode("utf-8").encode("gb2312")
msg_gb2312 = msg.encode("gb2312") #默认就是unicode,不用再decode,喜大普奔
gb2312_to_unicode = msg_gb2312.decode("gb2312")
gb2312_to_utf8 = msg_gb2312.decode("gb2312").encode("utf-8")

print(msg)
print(msg_gb2312)
print(gb2312_to_unicode)
print(gb2312_to_utf8)
posted @ 2018-10-10 21:37  南邮吴亦凡  阅读(196)  评论(0编辑  收藏  举报