简单文件操做

1、简述文件操做post

文件操做是经过将存在硬盘中的文件调用至内存,人经过操做系统对内存中的文件数据进行操做。编码

内存:unicode字符spa

硬盘:utf-8字符操作系统

通常文件数据以unicode字符编码存储是比以utf-8字符编码储存占用空间大的,可是,不管用户输入什么字符存入内存,unicode均可以兼容。一样,硬盘中不管是以什么编码的文件读到内存,均可以兼容unicode。指针

只有unicode编码存在内存中,其他编码都在硬盘里。code

(内存中)unicode 二进制字符经过编码(encode)→(硬盘中)utf-8二进制字符对象

(硬盘中)utf-8二进制字符解码(decode)→(内存中)unicode二进制字符blog

保证文件不乱码的核心就是,保证用什么编码存就用什么编码取,注意文本编码与解释器码要一致。内存

补充:utf-8

在Python2中,默认的字符编码ascill码,由于当时的unicode码尚未盛行,在Python3中,默认的字符编码是utf-8编码,文件开头以#coding:utf-8,用英文字符。是为了让全部的计算机均可以识别。

pycharm默认的字符编码是:utf-8

window操做系统默认的字符编码是:GBK

打开文件的三种模式

一、 r模式,

  只读,若是文件不存在的话会报错

二、w模式

  只写,若是文件不存在,则建立一个文件,将内容写入

  若是文件存在,则会先将文件里的内容清空,再将内容写进去

三、a模式

  若是文件存在,则再内容后面追加内容

  若是文件不存在,则建立一个文件,将内容写入

打开文件的语法格式:

with open(r‘带后缀的文件名’,mode=‘打开模式’,encoding='文件的编码格式')as  f  :

r :用来转义‘带后缀的文件名’路径中的转义字符

带后缀的文件名 :能够是绝对路径,也能够是相对路径

文件编码格式 :与打开的文件编码模式一致便可

f  :文件对象的建成,便于后面使用

举例说明文件操做模式使用

r模式:

with open('a.txt',mode='r', encoding ='utf-8') as f:
      print(f.readable())     #判断文本是否能够读取 
      print(f.read())           #读全部
      print(f.readline())   #执行一次,打印一次
      print(f.readlines())  #执行一次,打印全部行内容,返回的是列表

w模式:

#w只写模式:在文件不存在时会建立空文档,文件存在会清空文件,文件指针会跑到文件开头
with open('b.txt', mode ='w',encoding='utf-8')as f:
    f.write('你好\n')
    f.write('我好\n')
    f.write('你们好\n')
  #注意:
#在文件不关闭的状况下,连续的写入,后写的内容必定跟在前写内容的后面
#若是从新以w模式打开文件,则会清空文件内容

a模式:

#a只追加写模式:在文件不存在时会建立空文档,文件存在会将文件指针直接移动到文件末尾
with open(’c.txt’,mode='a',encoding='utf-8')as f:
    f.write('44444\n')
    f.write('55555\n')
相关文章
相关标签/搜索