简单文件操作

一、简述文件操作

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

内存:unicode字符

硬盘:utf-8字符

一般文件数据以unicode字符编码存储是比以utf-8字符编码储存占用空间大的,但是,无论用户输入什么字符存入内存,unicode都可以兼容。同样,硬盘中无论是以什么编码的文件读到内存,都可以兼容unicode。

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

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

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

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

补充:

在Python2中,默认的字符编码ascill码,因为当时的unicode码还没有盛行,在Python3中,默认的字符编码是utf-8编码,文件开头以#coding:utf-8,用英文字符。是为了让所有的计算机都可以识别。

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

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

打开文件的三种模式

1、 r模式,

  只读,如果文件不存在的话会报错

2、w模式

  只写,如果文件不存在,则创建一个文件,将内容写入

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

3、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')

打开文件的三种模式

1、 r模式,

  只读,如果文件不存在的话会报错

2、w模式

  只写,如果文件不存在,则创建一个文件,将内容写入

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

3、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')

猜你喜欢

转载自www.cnblogs.com/xy-han/p/11817160.html