一、文件
①定义:就是用来存储数据的。
比如图片、文本文档、Excel文档、压缩包、视频等
②作用:保存数据存放在磁盘,通常可以长久保存。
在计算机磁盘中保存的文件是通过目录来组织和管理的。
③好处:把数据存储起来,可以让程序下一次执行的时候直接使用,而不必重新制作一份,省时省力
二、文件的打开与关闭
1.定义:在python中,使用open函数,可以打开一个已经存在的文件,或者新建一个文件
2.文件的打开方式:
打开方式 | 解释 |
---|---|
r | 打开一个文件用于只读。 文件的指针将会放在文件的开头,这是默认的打开方式,可以不填 |
w | 打开一个文件用于写入。 如果该文件存在,则覆盖原有内容。 如果该文件不存在,则自动创建新文件进行写入 |
a | 打开一个文件用于追加。 如果该文件存在,文件指针将会放在文件的结尾,新的内容将会写到原有内容之后。 如果文件不存在,则自动创建新文件进行写入 |
rb | 以二进制格式打开一个文件用于只读,文件的指针将会放在文件的开头 |
wb | 以二进制格式打开一个文件用于写入,如果该文件存在,则覆盖原有内容。 如果该文件不存在,则自动创建新文件进行写入 |
ab | 以二进制格式打开一个文件用于追加,文件指针将会放在文件的结尾,新的内容将会写到原有内容之后。 如果文件不存在,则自动创建新文件进行写入 |
①写入数据(w):如果文件不存在则先创建再写入,如果文件存在就会覆盖原来的数据
对象 = open("文件","w",编码格式等...)
对象.write("写入数据")
对象.close
#写入
fileWrite=open("a.txt","w",encoding="utf-8")
fileWrite.write("我等到花儿也谢了")
fileWrite.close()
#覆盖原有数据
fileWrite=open("a.txt","w",encoding="utf-8")
fileWrite.write("我是歌手")
fileWrite.close()
②读取数据(r):"r"可以省略,只写open("文件名") 。
如果没有该文件,打开报错。
- read():使用read(num)可以从文件中读取数据,num表示要从文件中读取的数据的长度(单位是字节),如果没有传入num,那么就表示读取文件中所有的数据
对象 = open("文件","r",编码格式等...)
变量 = 对象.read()
print(变量)
对象.close()
//读取全部
fileRead=open("a.txt","r",encoding="utf-8")
a=fileRead.read()
print(a)
fileRead.close()
//指定读取长度,在read里写长度即可
fileRead=open("a.txt","r",encoding="utf-8")
a=fileRead.read(2)
print(a)
fileRead.close()
- readlines():可以按照行的方式把整个文件中的内容进行一次性读取,返回的是一个列表,其中每一行的数据为一个元素
对象 = open("文件","r",编码格式等...)
变量 = 对象.readlines()
print(变量)
对象.close()
//逐行读取
fileRead=open("a.txt","r",encoding="utf-8")
a=fileRead.readlines()
print(a)
fileRead.close()
- readline():可以按照行的方式把整个文件中的内容进行一行一行的读取
对象 = open("文件","r",编码格式等...)
变量 = 对象.readline()
print(变量)
对象.close()
#逐行读取
fileRead=open("a.txt","r",encoding="utf-8")
i=0
while i<=5:
print(fileRead.readline())
i+=1
fileRead.close()
③追加数据(a):如果文件不存在则创建并从头添加写入的内容,文件存在则在原有数据后追加数据
对象 = open("文件","a",编码格式等...)
对象.write("写入数据")
对象.close
#追加数据
fileAppend=open("a.txt","a",encoding="utf-8")
fileAppend.write("a-lin\n")
fileAppend.write("我是歌手\n")
fileAppend.close()
④读取二进制数据(rb):如果没有文件,打开报错,存在该文件才能 *** 作
#格式1 不用手动关闭文件
with open("二进制文件","rb") as 对象:
变量 = 对象.read()
print(变量)
#格式2
对象 = open("二进制文件","rb",编码格式等...)
变量 = 对象.read()
print(变量)
对象.close()
⑤写入二进制数据(wb):如果文件不存在则先创建再写入,如果文件存在就会覆盖原来的数据
#不用手动关闭文件
with open("二进制文件","wb") as 对象:
变量 = 对象.write()
print(变量)
#将图片刘耀文.jpg写入boy.jpg
with open("刘耀文.jpg","rb") as byteRead:
br=byteRead.read()
with open("boy.jpg","wb") as byteWrite:
byteWrite.write(br)
⑥关闭文件
对象.close()
三、文件和文件夹的 *** 作
1.文件:有时需要对文件进行重命名、删除等一些 *** 作,python的os模块中就有这些功能
①文件重命名:os模块中的rename()可以完成对文件的重命名 *** 作
import os
os.rename("原文件名","新文件名")
import os
os.rename("a.txt","b.txt")
②删除文件:os模块中的remove()可以完成对文件的删除 *** 作
import os
os.remove("文件名")
import os
os.remove("b.txt")
2.文件夹:
①创建文件夹:os模块中的mkdir()可以完成对文件的重命名 *** 作
import os
os.mkdir("文件夹名")
import os
os.mkdir("study")
②获取当前目录:os模块中的getcwd()可以获取当前目录
import os
print(os.getcwd())
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)