八,文件操作补充

控制文件内指针移动seek()

  只有‘rt‘模式下的read(n)n代表移动字符数,以外的都是表示移动字节数

  seek(offset,whence)中两个参数:

  offset代表指针移动字节数,whence代表从哪里开始移动 

    whence = 0: 参照文件开头(默认的),可以在t和b模式下使用
    whence = 1: 参照当前所在的位置,必须在b模式下用
    whence = 2: 参照文件末尾,必须在b模式下用

文件修改的两种方式

  修改文件的方式一:

  1 将文件内容由硬盘全部读入内存
  2 在内存中完成修改
  3 将内存中修改后的结果覆盖写回硬盘

  with open(‘d.txt‘,mode=‘rt‘,encoding=‘utf-8‘) as f:
  all_data=f.read()

  with open(‘d.txt‘,mode=‘wt‘,encoding=‘utf-8‘) as f:
  f.write(all_data.replace(‘alex‘,‘dsb‘))

  修改文件的方式二:
  1 以读的方式打开源文件,以写的方式打开一个临时文件
  2 从源文件中每读一样内容修改完毕后写入临时文件,直到源文件读取完毕
  3 删掉源文件,将临时文件重命名为源文件名
  import os

  with open(‘d.txt‘,mode=‘rt‘,encoding=‘utf-8‘) as read_f,open(‘.d.txt.swap‘,mode=‘wt‘,encoding=‘utf-8‘) as write_f:
  for line in read_f:
  write_f.write(line.replace(‘alex‘,‘dsb‘))
  
  os.remove(‘d.txt‘)
  os.rename(‘.d.txt.swap‘,‘d.txt‘)

  方式一:
    优点: 在文件修改的过程中硬盘上始终一份数据
    缺点: 占用内存过多,不适用于大文件

  方式二:
    优点: 同一时刻在内存中只存在源文件的一行内容,不会过多地占用内存
    缺点: 在文件修改的过程中会出现源文件与临时文件共存,硬盘上同一时刻会有两份数据,即在修改的过程中会过多的占用硬盘,

原文地址:https://www.cnblogs.com/TRKOTW/p/9513772.html

时间: 2024-10-12 20:34:44

八,文件操作补充的相关文章

文件操作补充

文件操作: 重点: 1,文件操作的三步骤:打开文件 使用文件 关闭文件 2,文件操作的三要素:文件源 操作模式 编码 3,with语法 : with open() as 别名,open () as 别名: 4,重点方法 :read() write() readline() close() f.flush() f.seek() 操作模式 主模式:r w a 从模式:b t + 操作方法: read() readline() readlines() write() writelines() flus

python学习点滴记录-Day02补充-文件操作

字符编码: 把人类的字符翻译成计算机能认识的数字 字符编码表 存放着人类字符和计算机数字的对应关系表 ascii.gbk.utf-8.unicode unicode>encode(utf8)>bytes bytes>decode(utf8)>unicode 文件处理补充: 字符以什么格式编码的,就要以什么格式解码 文件的打开模式 文件句柄 = open('文件路径', '模式') 打开文件时,需要指定文件路径和以何等方式打开文件,打开后,即可获取该文件句柄,日后通过此文件句柄对该文

python教程(八)·文件操作

由于离高考越来越近,博主打算本篇文章过后,暂停本系列教程的更新,等到高考完后再继续本系列教程,请谅解! 这次我们学习用python操作文件,包括文件的读.写等-- 操作文件第一步--打开文件 要想操作文件,我们首先应该打开一个文件.当然,这个"打开"不是用鼠标双击那种"打开",别忘了这是个python编程的教程,所以我们是用python程序来打开文件.打开文件用open函数,函数的基本用法如下: obj = open(name[, mode]) # 中括号包围表示m

2019-07-08 文件操作的补充

一.其他模式补充 之前学的r(只能读)/w(只能写)/a(只能写) 今天学的: r+/w+/a+(都变成读写模式) with open(r'test',mode='r+',encoding='utf-8') as f: print(f.readable()) print(f.writable()) print(f.readline()) f.write('嘿嘿嘿') with open(r'test',mode='w+',encoding='utf-8') as f: print(f.reada

八.python文件操作

一,初识文件操作. 引子: 现在这个世界上,如果可以操作文件的所有软件都消失了,比如word,wps等等,此时你的朋友通过qq给你发过来一个文件,文件名是:美女模特空姐护士联系方式.txt,在座的所有男同学,那么你接受到这个文件之后,你的内心是否有一丝冲动,当然咱们不是那种闷骚的人,其实我们就是比较好奇,就是想要看看里面写的是什么,仅此而已,绝不联系.但是我说了所有可以操作文件的软件全部都没了,那么你是不是百爪挠心,火急火燎,哎呀.别急呀,你忘了么?你学过Python这门编程语言,这个语言肯定有

Python学习笔记八:文件操作(续),文件编码与解码,函数,递归,函数式编程介绍,高阶函数

文件操作(续) 获得文件句柄位置,f.tell(),从0开始,按字符数计数 f.read(5),读取5个字符 返回文件句柄到某位置,f.seek(0) 文件在编辑过程中改变编码,f.detech() 获取文件编码,f.encoding() 获取文件在内存中的编号,f.fileno() 获取文件终端类型(tty.打印机等),f.isatty() 获取文件名,f.name() 判断文件句柄是否可移动(tty等不可移动),f.seekable() 判断文件是否可读,f.readable() 判断文件是

3.文件操作及编码解码补充

文件操作:1.打开文件f = open(name,mode)name:文件名的字符串mode:访问模式(只读,写入,追加等)2.读写等操作date = f.read()3.关闭文件f.close() 模式详解:如果省略书写访问模式,则访问模式默认为r或rb.通常只用主模式读写文件r 以只读方式打开文件.文件的指针将会放在文件的开头.这是默认模式.1.有文件就读取,无文件则报错.2.r模式不支持写入,用.write()函数则报错rb 以二进制格式打开一个文件用于只读.文件指针将会放在文件的开头.这

C语言文件操作

文件操作 文件的打开 FILE * fopen(const char filename,const char * mode); 文件的打开操作 fopen 打开一个文件 (几种操作文件的组合) 文件的关闭操作 int fclose(FILE *fp); fclose 关闭一个文件 文件的读写操作 读取单个字符 fgetc 从文件中读取一个字符 int fgetc(FILE * fp); fputc 写一个字符到文件中去 int fput(int c,FILE * fp); 读取字符串 fgets

python第三节函数,文件操作

文件操作#以读的方式打开文件# f=open('c.txt',encoding='utf-8')# print(f)# data = f.read() #以读的方式打开# print(data)# print(f.closed) #判断文件是否是关闭状态# print(f.encoding)#输出文件编码# print(f.name)   #输出文件名称# print(f.readable())#判断文件是否是读模式# print(f.readline(),end='')#一次只读一行,end去