# 文件操作 # 1:文件操作介绍 # 什么是文件? # 存储内容的方法 # 使用文件的目的 # 保存数据存放在磁盘,把一些存储存放起来,可以让程序下一次执行的时候直接使用,而不必重新制作一份,省时省力 # 2:文件的打开与关闭打开文件 # 在python,使用open函数,可以打开一个已经存在的文件,或者创建一个新文件open(文件名,访问模式) # r:已只读方式打开文件 # w:已只书写打开问价,如果文件存在覆盖,没有新建 # a:打开一个文件用于追加,如果文件已存在将新的内容添加到文件结尾,文件不存在新建文件 # rb:已额二进制格式打开一个文件用于只读 # wb:已额二进制格式打开一个文件用于书写,如果文件存在覆盖,没有新建 # ab:已额二进制格式打开一个文件用于追加,如果文件存在将新的内容添加到文件结尾,文件不存在新建文件 # 3:文件的读写 # 普通文件的读写 # 写数据(write)("w")("a") # wenjian = open('1.txt',"w",encoding='utf-8') # wenjian.write('震惊,罗少爷居然') # wenjian.close() # wenjian = open('1.txt',"a",encoding='utf-8') # wenjian.write('震惊,罗少爷居然') # wenjian.close() #a(可写)形式打开文件,如果文件不存在则创建并从头添加写入的内容,存在则原有数据后追加数据 #w 如果文件不存在那么创建,如果存在那么就先清空,然后写入数据读数据(read) # 如果用open打开文件时,如果使用的"r",那么可以省略,即只写 open('test.txt') # wenjian = open('1.txt',"r",encoding='utf-8') # wenjian = open('1.txt',encoding='utf-8') # wenjian.read() # wenjian.close() # 如果没有文件,打开报错,存在该文件才能操作 # 如果文件中存在中文显示,会出现乱码需要添加encoding='utf-8'open(‘test.txt’,”r”, encoding='utf-8') # #使用read(num)可以从文件中读取数据,num表示要从文件中读取的数据的长度(单位是字节),如果没有传入num,那么就表 # 示读取文件中所有的数据 # 读数据(readlines) 一行一行查看数据 # wenjian = open('1.txt',encoding='utf-8') #wenjian.readlines() # wenjian.close() # 就像read没有参数时一样,readlines可以按照行的方式把整个文件中的内容进行一次性读取,并且返回的是一个列表,其中每 # 一行的数据为一个元素读数据(readline)readline可以按照行的方式把整个文件中的内容进行一行一行的读取 # 二进制文件的读写 # 读数据(rb)如果没有文件,打开报错,存在该文件才能操作 # with open('时间表.png',"rb") as tupian: # p = tupian.read() # print(p) # 写数据(wb)(ab) # with open('时间表.png',"wb") as tupian: # p = tupian.write() # print(p) # with open('时间表.png',"ab") as tupian: # p = tupian.write() # print(p) # 追加:如果一个文件很大,比如5G,试想应该怎样把文件的数据读取到内存然后进行处理呢?调用read()会一次性读取文件的 # 全部内容,如果文件有10G,内存就爆了,所以,要保险起见,可以反复调用read(size)方法•每次最多读取size个字节的内容 # 。另外,调用readline()可以每次读取一行内容,调用readlines()一次读取所有内容并按行返回list•因此,要根据需要决定 # 怎么调用。如果文件很小,read()一次性读取最方便;如果不能确定文件大小,反复调用read(size)比较保险;如果是配置文 # 件,调用readlines()最方便 # 4:文件及文件夹的相关操作 import os #time unittest # 文件的相关操作有些时候,需要对文件进行重命名、删除等一些操作,python的os模块中都有这么功能 # 文件重命名 # os模块中的rename()可以完成对文件的重命名操作 # os.rename('1.txt','2.txt') # 删除文件 # os模块中的remove()可以完成对文件的删除操作 # os.remove('1.txt') # 文件夹的相关操作 # os模块中的mkdir()可以完成对文件夹的创建操作 # os.mkdir('123') # 获取当前目录 # os模块中的getcwd()可以获取当前目录 # print(os.getcwd())