Python学习:用程序操作文件及文件夹
这里的“操作”指通过程序打开文件、读取和写入内容,还有删除和遍历目录以及查询文件的信息等。整个过程都是通过代码在程序流程中实现,并非我们常见的那种鼠标双击word文档打开和后续的操作界面。file = open(filename[,mode[,buffering]])使用open()语句打开现有或者创建(mode不是r)之前没有的文件filename,并把它赋值给变量file,此时file就成了一个具体的文件对象(捆绑上了操作工具包的文件本体)。mode默认是只读模式 r,它的可选参数值为r只读,w写入新内容并覆盖掉旧内容,a可以在已有文件的内容后添加新内容,rb,wb,ab用于非文本文件,是二进制模式。buffering有0和1或者不写以及其他字节整数,0仅限于二进制文件,表示直接写入硬盘,打开和写文本时1表示存满一行就写入硬盘。不写时默认为系统自己攒一桶水在内存中,水满了或者需要时才会存入硬盘(倒入水缸)。open()函数默认是GBK编码,如果有Unicodedecodeerror报错,mode后指定编码方式,如file = open('chuchu.word','w',encoding='utf-8)2.with open(filename[,mode[,buffering]]) as file: with-body(写你需要的操作,没有就pass)file.read([size])(只能操作只读模式r打开的文件,size是字符个数,从头开始数,不写则默认读取全部。)(只能只读模式使用)还可以使用file.seek(offset[,whence])(从指定位置whence开始,指针移动offence个字符停下,whence不写就是从头开始数)移动光标从中间开始读取。file.readline()只读取一行数据,只能指定r模式打开。file.readlines()读取全部行,不过返回的是字符串列表,每一行内容记为一个元素。python中没有直接的目录函数或者对象(工具包),通过内置模块os和os.path实现。(具体功能根据英文意思对应)os.mkdir(path[,mode])(mode指定数值模式的参数,非Unix可忽略不管)os.makedirs(path/path1/path2[,mode])os.rmdir(path)(删除的是最后一个空文件夹)shutil.retree(path)(删除最后一个文件夹,包括里面所有的东西)os.removedirs(path1/path2···)(从最后一个非空文件夹开始,逐个往上检测父文件夹,只要是空就给他删完。os.chdir(path)(改工作位置,文件位置不改)os.walk(top[,topdown][,onerror][,followliks])os.path.abspath(path)文件或目录的绝对路径