目录
一:基本文件操作
1.创建和打开文件
要想操作文件需要先创建或者打开指定的文件并创建文件对象,通过内置的open()函数实现
file = open(filename[,mode[,buffering])
1)打开一个不存在的文件时先创建文件
在默认情况下,使用open()函数打开一个不存在的文件,会抛出异常,如何解决:(下述两种方法)
- 在当前目录下(即与执行的文件相同的目录)创建一个名称为为代码中的文件
- 在调用open()函数时候,指定mode的参数值为w,w+,a,a+,这样当要打开的文件不存在时,就可以创建新文件。
file = open("message.txt","w")
2)以二进制形式打开文件
使用open()函数不仅可以以文本形式打开文本文件,还可以以二进制形式打开非文本文件,
如图片文件,音频文件,视频文件
file = open('picture.png','rb')
print(file)
3)打开文件时候指定编码方式
在使用open()函数时候,默认采用GBK编码。
在调用open函数时候,通过添加encoding = 'utf-8'参数可以实现将指定编码指定为utf-8
file = open("notice.txt","r",encoding = "utf-8")
1.2关闭文件
file.close()
1.3 打开文件时候使用with语句
python提供with语句,从而实现在处理文件时,无论是否抛出异常,都能够保证with语句执行完毕后关闭已经打开的文件。
with open("message.txt","w") as file:
pass
1.4写入文件内容
python对象提供了write()方法,可以向文件写入内容。
file = open("message.txt","w")
file.write("你使用了一张加速卡")
file.close()
补充:
如果打开文件采用w(写入模式),则先清空原文件中的内容,再写入新内容;
如果打开文件采用a(追加模式),则不覆盖原有文件的内容,只是在文件的结尾处增加新的内容。
补充:
python中文件对象中除了提供write()方法,还提供了writelines()方法,可以实现把字符串列表写入文件,但是不添加换行符。
1.5读取文件
1)读取指定字符
文件对象提供read()方法读取指定个数的字符
with open("message.txt","r") as file:
string = file.read(9)
print(string)
补充:read(size)方法读取文件的时候,是从文件的开头位置读取的。如果想要读取部分内容,可以先使用文件
对象的seek()方法将文件的指针移动到新的位置,然后再应用到read(size)方法读取。
2)读取一行
文件对象提供了deadline()方法用于每次读取一行数据
with open("message.txt","r") as file:
number = 0
while True:
number +=1
line = file.readline()
if line== "":
break
3)读取全部行
file.readlines()
二:目录操作
2.1 os和os.path模块
1)os模块
2)os.path模块
2.2 判断目录是否存在
使用exist()函数实现
import os
print(os.path.exists("c:\\demo"))
2.3创建目录
os.mkdir(path,mode = 0o777)
import os
os.mkdir("c:\\demo")