字符编码,文件管理

3月22日博客

复习:

元组:相当于不可变列表

定义:()小括号 t=(1,2,‘a’)

补充:t=(1,‘a’)

只有读的需求,没有取

常用操作: 依靠索引和不依靠索引

依靠索引: t=(1,2,3‘a’)

i=0

while is<len(t):print(i)

for in rang (len(i)):

不依靠

for item in t :

print(item)

list(‘hello’)

print(‘hello’)

定义字典: d={‘x’:1}

 必须不可变 key vvlue  任意类型

用途:存多个值,每一个都有一个对应的关系

 Egon={‘name’,’age’:18}

 ‘hobbies’=[‘red’]

集合:无序

交集:%  并集:|  补集:^  交叉补集:-

数据类型总结:按存在值个数区分:标量  数字,字符串  可变:列表字典

容器类型:列表,元组,字典  不可:数字,字符  元组

二,字符编码:

1,  知识储备 CPU 内存  硬盘

2,  文本编辑器原理:结论:在编写py的程序的时候,是没有语法的限制的,编写的结果跟编写写一个普通文本文件是没有任何区别

3,  Python执行三个阶段:(1)打开python解释器(2)读取文件(3)解释执行 识别语法

4,  文本编辑原理

(1)       什么是字符编码 :人类字符—翻译—数字  翻译过程编写遵守一个标杆:字符与数学—对应的关系,这个标准之内为字符编码。

(2)       ASII: 8bit=16ytes,一个英文占员工字节

(3)       GBK: 16bit=2bytes,2个字符表示一个中文符,1字节符表示一个中午符,1字节一个英文字符

5,  解决乱码问题的核心:用什么存的就用什么取。强调:我们能控制是存在硬盘上的代码。

6,  Python3解释器默认UTF-8 PYTHON2 :默认ascii编码

7,  #coding:gbk,文件头告诉解释器

8,  文件头的作用:#coding:utf-8是告诉pytho解释器用我指定编码

9,  执行python程序的第三阶段发生的事

会识别python语法,定义的字符串类型又涉及到字符编码概念。

10,转换:unicde---编码—gbk   gbk—解码decode—Unicode

总之我们用存什么,就用什么取。

三,文件处理

1打开文件 2 读/写  3 关闭文件

1,#f=open(r‘文件的路径,mode‘打开文件的模式’,encodig=‘操作文件的字符编码’)

F=open(r‘a.txt’mode=‘r’)

2 读写:data=f。read()

Print(data)

3关闭文件

F.colse()#回收操作系统的资源

Print(f)

With(管理文件上下操作)

With open(r‘a.txt,mode=’r’)os f:

Print(“===>”)

Print(f.read())

文件的操作:

F=open(‘a.txt’)#默认打开文件的模式是rt模式,r代表只读,t代表文本文件

#默认的打开文件的编码是:win  gbk  linux  utf-8

Print (f.read())

f.close()

# 文件的打开模式# 文件默认的打开模式是t模式:文本模式

操作文件的模式有三种:r w  a

#r:默认的打开方式模式:

#注意,当文件不存在,报错

F=open(‘a.txt’,node=’r’,enoding=’utf-8’)#mode=’rt’

f.write(‘df地方 ’)不能写

F=open(‘a.txt’,node=’r’,enoding=’utf-8’)#mode=’rt’

Print(‘=====>1’)

Print(f。read())

Print(‘=====>2’)

Print(f.read())

f.close()

w模式 只写模式

#注意 :当文件不存在时,创建新的,当文件存在就清空

F=open(‘a.txt’,node=’r’,enoding=’utf-8’)#mode=’rt’

F.write(’第一行’ )

F.write(‘第二行 ’)

f.writelines([])可以把列表里的值写进去  

f.write(‘aaaa’,‘dfhhj’)写多行

a模式(追加写模式 )运行一次加一行

注意:在文件不存在,创建空文件,当文件存在,光标直接跑文件末尾

F=open(‘a.txt’,node=’a’,enoding=’utf-8’)#mode=’rt’

F.write(‘5555 ’)

F.close()

 

原文地址:https://www.cnblogs.com/maojiang/p/8627711.html