文件操作:1.打开文件f = open(name,mode)name:文件名的字符串mode:访问模式(只读,写入,追加等)2.读写等操作date = f.read()3.关闭文件f.close() 模式详解:如果省略书写访问模式,则访问模式默认为r或rb.通常只用主模式读写文件r 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。1.有文件就读取,无文件则报错.2.r模式不支持写入,用.write()函数则报错rb 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。r+ 打开一个文件用于读写。文件指针将会放在?文件的开头。rb+ 以二进制格式打开?一个文件用于读写。文件指针将会放在文件的开头。w 打开一个文件只用于写入。1.如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。只要执行w模式的open就清空原有文件2.如果该文件不存在,创建新文件。3.如果执行.write()会覆盖原有内容wb 以?进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不不存在,创建新文件。w+ 打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不不存在,创建新文件。wb+ 以二进制格式打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不不存在,创建新文件。a 打开一个文件用于追加。1.如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。2.如果该文件不存在,创建新文件。ab 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。a+ 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。ab+ 以?进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。 读取函数(f = open("filename")1.f.read(num) 参数num是指要从文件中读取的数据长度(字节),可省略,省略表示读取所有数据2.f.readlines() 按行读取整个文件,返回一个列表,每行内容为一个元素,注意:readlines读取的每行包括换行符\n3.f.readline() 一次读取一行内容 文件和文件夹操作(需要导入os模块import os)1.重命名os.rename("old_name","new_name") 可以操作文件及文件夹2.删除os.remove("file_name") 无此文件会报错3.创建文件夹os.mkdir("dir_name") 重复创建同名文件夹会报错4.删除文件夹os.rmdir("dir_name") 无此文件夹会报错5.获取当前文件的路径os.getcwd()6.改变目录路径os.chdir("dir_name") 无此文件夹会报错7.获取目录列表os.listdir("dir_name") 返回dir_name文件夹内所有文件文件夹列表,不写dir_name则为当前文件夹 读取文件示例:对于读取到的某行进行进一步操作for index,line in enumerate(f.readlines()): if index == 9: print("-----------分割线----------") continue print(line.strip())以上对于第10行替换成分割线readlines()一次读取全部文件内容,这种方法对于大文件读取非常不友好,慎用 count = 0for line in f: if count == 9: print("-----------分割线----------") count += 1 continue print(line) count += 1这个方法采用迭代方式处理读取到的行数据,内存里只存储一行,常用 文件指针seek():用来移动文件指针f.seek(偏移量,起始位置) 起始位置(0:文件开头 1:当前位置 2:文件结尾) f.tell() 返回一个int,指示目前光标位置f.encoding 不需要括号,返回一个字符串,当前打开文件的编码f.seekable() 判断文件是否可以移动指针f.readable() 判断文件是否可读f.writeable() 判断文件是否可写f.closed() 判断文件是否关闭f.flush() 强制刷新f.truncate(int) 从开头截取int个字符 with语句with open("file_name","r") as f: with代码块执行完毕自动关闭文件with open("file_name","r") as f1 , open("file_name","w") as f2: with语句支持同时打开多个文件 编码解码查看当前默认字符编码集import syssys.getdefaultencoding()
原文地址:https://www.cnblogs.com/huohu121/p/12232745.html
时间: 2024-10-08 22:07:31