文件操作(IO技术)
很多软件系统是将数据存储的数据库中;数据库实际也是基于文件形式存储的。今天我们就学习文件的相关操作。
文本文件和二进制文件
按文件中数据组织形式,我们将文件分为文本文件和二进制文件两大类。
文本文件
文本文件的存储是普通的字符文件,默认为unicode字符集(两个字节表示一个字符,最多可表示:65536个),可以用记事本程序打开。但是像word这种可编辑的软件打开的不是文本文件。因为他既可以打字也可以放图片
二进制文件
二进制文件是数据内容用字节进行存储,无法用记事本打开。必须使用专用的软件解码。常见的有:MP4视频文件、MP3音频文件、IPG图片、doc文档等等
文件操作相关模块概述
创建文件对象open()
在pycharm里面建文件,直接写相对路径就行。
文本文件的写入
基本的文件写入操作
编码知识—中文乱码问题解决
常用编码之间的关系:
ASCII
ISO8859-1
中文乱码问题
python 程序默认使用unicode
所以我们要在w中要写上utf-8
write()/writelines()写入数据
write(a):把字符串a写入到文件中
writelines(b):吧字符串列表写入文件中,不添加换行符
关闭流
close()关闭文件流
with语句(上下管理器)
文本文件的读取
_enumerate()函数和推导式生成列表—操作每行加行号
enumerate()
推导式
temp.rstrip是把\n去掉的
二进制文件的读取和写入
文件对象的常用属性和方法-seek()任意位置操作
使用pickle序列化和反序列化-神经元记忆移植
_CSV文件的操作
os 和os.path模块
os 调用操作系统文件和命令
os-文件和目录操作
os模块下常用操作文件的方法;
os模块下关于目录操作的相关方法、汇总如下:
测试os模块中,关于文件和目录的操作
import os
‘’’
1.关于文件和文件夹相关的信息
2.关于工作目录的操作
3.创建目录、创建多级目录、删除
‘’’
#1.关于文件和文件夹相关的信息
print(os.name) #windows ->nt linux和unix - >psix
print(os.sep) #windows ->\ linux和unix - >/
print(repr(os.linesep)) #windows ->\r\a linux -->\n
print(os.stat(“os2.py”))
#2.关于工作目录的操作
‘’’
print(os.getcwd())
os.chdir(“e:”) #改变当前的工作目录为E:盘根目录
os.mkdir(“书籍”)
‘’’
#3.创建目录、创建多级目录、删除
#os.mkdir(“书籍”)
#os.rmdir(“书籍”) #相对路径是相对于当前的工作目录
#os.makedirs(“电影/港台/周星驰”)
#os.removedirs(“电影/港台/周星驰”)
#os.makedirs("…/音乐/香港/刘德华") #…/指的是上一级目录
#os.rename(“电影”,“movie”)
dirs = os.listdir(“movie”)
print(dirs)
os.path模块
walk()递归遍历所有文件和目录
_shutil模块(拷贝和压缩)
压缩和解压缩 zipfile和shutil模块
递归算法原理-阶乘计算
递归算法原理—目录树结构展示
模块
模块化程序设计理念
模块化编程的流程
模块的API和功能描述要点
模块的导入
模块化设计的好处之一就是“代码复用性高”。写好的模板可以被反复的调用,重复使用。
模块的导入就是“在本模块中使用其他模块
import语句导入