从0基础学习Python(12)[Python中的文件]

从0基础学习Python (Day12)

文件操作介绍

1.什么是文件

​ 在计算机中只要是装载数据的物理载体都是文件,数据在计算机中持久保存主要依靠的就是文件。例如:

​ 音乐在计算机中以.mp3,.wav,.flac…

​ 视频在计算机中以.mp4,.avi,…

​ 文字数据在计算机中以.txt,.xls,.doc,.ppt,.md,…

​ 图片…

​ 以上都是文件,在使用计算机时要搞清楚什么是文件

2.文件的作用

​ 在计算机中如果要保存数据,必须要使用文件进行装载数据,

​ 数据在计算机中以文件的形式进行保存

3.计算机存储数据

1>变量形式存储

  1. 通过变量类型来区分数据不同(int,float,string,boolean…)
  2. 临时存储
  3. 内存

2>文件形式存储

  1. 通过文件的后缀来区分数据不同(.txt,mp3,mp4,exe,apk…)
  2. 持久存储
  3. 硬盘

两者存储的区别:操作内存的效率要比操作硬盘的高

4.文件的读写

1>写数据(Write)

# 1.先打开一个文件
f = open("ylt.txt", mode="w")
# 2.向打开的文件中写入数据
f.write("hello world")
# 3.写完数据后关闭文件
f.close()
  1. 使用write()可以完成向文件写入数据

  2. 注意:

    1. 如果指定的这个名称的文件不存在,那么在mode是r情况下直接报错
    2. 如果指定的这个名称的文件不存在,那么在mode是w的情况下会创建这个文件,如果这个名称的文件已存在,那么会先清空文件然后写入数据

2>读数据

# 1.先打开要读取的文件
f = open("ylt.txt", "r")
# 2.开始读取文件中的数据
content = f.read(2)
# 3.关闭打开的文件
f.close()
  1. 使用read()可以读取文件中的数据

    前提是先新建一个文件ylt.txt

  2. read(num),这个num参数表示从文件中读取的数据的长度(单位是字节),如果没有传递这个数据默认读取所有

  3. 如果文件打开之后连续读取多次指定长度字节,那么每次的读取都是从上一次读取的结束点开始计算长度的

  4. 注意:

    1. 如果使用open打开文件时,如果使用的“r”,那么可以省略
  5. 使用readline()可以读取文件中的一行数据

  6. 使用readlines()可以将文件中的所有数据按行读取并存放在一个列表中

  7. 所有的参数都是数据的长度

5.Open的本质

1>打开模式

在这里插入图片描述

2>关闭文件

如果文件不再使用,需要关闭文件, 释放内存
在这里插入图片描述

3>文件打开和关闭的本质

​ 文件和变量的作用都是问了存储数据,而已知变量存储的是数据的引用

​ 可以理解为变量名记录的是数据的引用

​ 而文件名是一个数据的引用

​ open是将硬盘中的引用地址区域和内存之间的通道开启

​ write函数向文件中写入数据,将内存中的数据通过这个通道存放进硬盘中的引用区域

​ read函数是读取文件中的数据,将通道通向的硬盘中的引用区域里面的数据全部加载到内存中,在内存中以变量进行记录

6.中文数据写入

​ 编码格式:数据在计算机中以二进制进行存储的,二进制、八进制、十进制、十六进制对于数字之间的运算需要掌握

​ 日常生活中使用的数字称之为十进制:满十进一 由0-9组成

​ 二进制由0、1组成

​ 八进制由 0-7组成

​ 十六进制由0-9a,b,c,d,e,f组成

​ 计算机最初始就是用来数学计算的

​ 数字不足以满足人类的日常需求,字母 ====》ASCII码 -将常用的每个字符都通过一个数字进行代替

​ 研究字符集 charset ====ascii码

​ 国标 gb2312

​ 繁体big5

​ 中国bgk

​ 编码:unicode(万国码) 会对中文进行使用字母代替 目前在编程中使用的万国码编码格式为utf-8

7.文件的相关操作

​ 经常对文件进行的操作:删除、重命名等一系列操作,在python中这些功能都在os模块中,因此只要是对文件进行操作首先导入os模块

1>文件重命名

​ os模块中的rename()就可以完成对文件的重命名工作

​ rename(需要修改的文件的名称,新的文件的名称)

import os

os.rename("ylt(1).txt", "英莱特.txt")

2>删除文件

​ os模块中remove()就可以完成对文件的删除操作

​ remove(需要删除的文件名)

import os

os.remove("test1.txt")

3>创建文件夹

​ 文件夹的本质是引用地址

import os
os.mkdir("Python")

4>获取当前目录

import os
os.getcwd()

5>修改默认目录

import os
os.chdir("Python32")
os.mkdir("就业班")

6>获取目录列表

列出指定目录中的所有文件及文件夹

import os
os.listdir("./")

7>删除文件夹

​ 此处的删除只能删除空的文件夹,目标文件夹里面不管有其他的文件或空文件夹都不能完成操作

import os
os.rmdir("32期")

​ 如果想将文件夹连同其内部的文件一起删除需要试用以下代码

import shutil

shutil.rmtree("Python")

​ 注意:不管是哪种删除都是将文件夹直接删除干净,不会出现在windows系统的垃圾筐中

​ ctrl+z撤销删除的数据的如果保存在内存中可以进行撤销

8.路径的概念

​ 路径:存放数据的文件的一个寻找地址

路径的分类

(1)相对路径

​ 以当前自身所在位置出发,在寻找目标的过程中遇到进入某个区域使用“区域名/”进入,跳出当前区域使用“…/”跳出,当前区域使用“./”代表,因此相对路径一般情况下都是以“./”开始的

(2)绝对路径

​ 不管当前所在位置,按照指定的这个路径肯定能够寻找到最终的目标,一般情况下都是以盘符开始“E:\”

# 相对路径
# path = "./../文件/test.txt"
# 绝对路径
path="E:\\Python\\文件处理\\文件\\test.txt"
with open(path, "r") as file:
    print(file.read())

​ 注意:在路径经常会写“/”或者“\”而路径恰好又是一个字符串,在字符串中有一种特殊的组合(一般是由“\”+其后跟着的一个或两三个字符共同组成一个具有特殊含义的字符)例如“\n”,“\t”,“\a”…等,这种字符称之为转义序列,会在字符串中影响原本的意思。

​ 在python的字符串中如果“\”和其之后的字符能够组成转义字符则必然按照转义字符进行处理了,字符串原本的意思丢失。除非能够保证该字符串中的所有“\”都未被转义

​ 处理转义字符使用转义字符处理:“\”使用“\\”代替

​ 注意:在路径经常会写“/”或者“\”而路径恰好又是一个字符串,在字符串中有一种特殊的组合(一般是由“\”+其后跟着的一个或两三个字符共同组成一个具有特殊含义的字符)例如“\n”,“\t”,“\a”…等,这种字符称之为转义序列,会在字符串中影响原本的意思。

​ 在python的字符串中如果“\”和其之后的字符能够组成转义字符则必然按照转义字符进行处理了,字符串原本的意思丢失。除非能够保证该字符串中的所有“\”都未被转义

​ 处理转义字符使用转义字符处理:“\”使用“\\”代替

Day12-------END

猜你喜欢

转载自blog.csdn.net/weixin_47766667/article/details/107677136