从0基础学习Python (Day12)
文件操作介绍
1.什么是文件
在计算机中只要是装载数据的物理载体都是文件,数据在计算机中持久保存主要依靠的就是文件。例如:
音乐在计算机中以.mp3,.wav,.flac…
视频在计算机中以.mp4,.avi,…
文字数据在计算机中以.txt,.xls,.doc,.ppt,.md,…
图片…
以上都是文件,在使用计算机时要搞清楚什么是文件
2.文件的作用
在计算机中如果要保存数据,必须要使用文件进行装载数据,
数据在计算机中以文件的形式进行保存
3.计算机存储数据
1>变量形式存储
- 通过变量类型来区分数据不同(int,float,string,boolean…)
- 临时存储
- 内存
2>文件形式存储
- 通过文件的后缀来区分数据不同(.txt,mp3,mp4,exe,apk…)
- 持久存储
- 硬盘
两者存储的区别:操作内存的效率要比操作硬盘的高
4.文件的读写
1>写数据(Write)
# 1.先打开一个文件
f = open("ylt.txt", mode="w")
# 2.向打开的文件中写入数据
f.write("hello world")
# 3.写完数据后关闭文件
f.close()
-
使用write()可以完成向文件写入数据
-
注意:
- 如果指定的这个名称的文件不存在,那么在mode是r情况下直接报错
- 如果指定的这个名称的文件不存在,那么在mode是w的情况下会创建这个文件,如果这个名称的文件已存在,那么会先清空文件然后写入数据
2>读数据
# 1.先打开要读取的文件
f = open("ylt.txt", "r")
# 2.开始读取文件中的数据
content = f.read(2)
# 3.关闭打开的文件
f.close()
-
使用read()可以读取文件中的数据
前提是先新建一个文件ylt.txt
-
read(num),这个num参数表示从文件中读取的数据的长度(单位是字节),如果没有传递这个数据默认读取所有
-
如果文件打开之后连续读取多次指定长度字节,那么每次的读取都是从上一次读取的结束点开始计算长度的
-
注意:
- 如果使用open打开文件时,如果使用的“r”,那么可以省略
-
使用readline()可以读取文件中的一行数据
-
使用readlines()可以将文件中的所有数据按行读取并存放在一个列表中
-
所有的参数都是数据的长度
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