方法可以有三个,但其实是一个方法,因为不同的方法都是文件存储的方法,文件修改就只有一个方法:

将文件导入list后,重新写入文件(另一个文件或者当前文件)


1.当前文件读取后,list修改内容,写入另一个新建文件

f = open("D:\data\k1.TXT","r")
ff= open ("D:\data\\new\k1.TXT","w")
new=[]
for line in f:
new.append(line)
new[9]='1111\n'
for n in new:
ff.write(n)
f.close()
ff.close()

以上程序生成的文件跟源文件相比第10行改为1111,其他行保持不变,源文件保持不变

2.当前文件读取后,list修改内容,文件关闭再打开,重新写入

f = open("D:\data\k1.TXT","r")
new=[]
for line in f:
new.append(line)
new[9]='8888\n'
f.close() f = open("D:\data\k1.TXT","w")
for n in new:
f.write(n)
f.close()

以上程序将源文件第10行改为8888;源文件被覆盖掉了

3.当前文件读取后,list修改内容,指针指向文件头,重新写入

f = open("D:\data\k1.TXT","r+")
new=[]
for line in f:
new.append(line)
new[9]='6666\n'
f.seek(0)
for n in new:
f.write(n)
f.close()

以上程序将源文件第10行改为6666;源文件被覆盖掉了

以上程序尤其注意一点,文件的open方式是不一样的

下面附上不同open方式的效果:

 1、w 写模式,它是不能读的,如果用w模式打开一个已经存在的文件,会清空以前的文件内容,重新写
w+ 是读写内容,只要沾上w,肯定会清空原来的文件
2、r 读模式,只能读,不能写,而且文件必须存在
r+ 是读写模式,只要沾上r,文件必须存在
3、a和a+ 追加模式,也能写,在文件的末尾添加内容
4、rb+、wb+、ab+,这种是二进制模式打开或者读取,一些音乐文件

python3修改文件指定行的更多相关文章

  1. python3读取文件指定行的三种方案

    技术背景 考虑到深度学习领域中的数据规模一般都比较大,尤其是训练集,这个限制条件对应到实际编程中就意味着,我们很有可能无法将整个数据文件的内容全部都加载到内存中.那么就需要一些特殊的处理方式,比如:创 ...

  2. 2-vim-打开和新建文件-01-打开/新建文件/打开定位到文件指定行

    1.新建或打开文件 命令: vim 文件名 在终端中输入vi在后面跟上文件名即可. 如果文件已经存在,会直接打开文件. 如果文件不存在,会新建一个文件. 2.打开文件并定位到文件指定行. 命令: vi ...

  3. python读取文件指定行内容

    python读取文件指定行内容 import linecache text=linecache.getline(r'C:\Users\Administrator\Desktop\SourceCodeo ...

  4. Linux查看文件指定行数内容

    1.tail date.log               输出文件末尾的内容,默认10行 tail -20  date.log        输出最后20行的内容 tail -n -20  date ...

  5. 【Sed】使用sed删除文件指定行的内容

    sed多看帮助文档,受益良多 sed -i '$d' filename 例如删除 /etc/profile的最后一行 cat -n /etc/profile ...    101  export PA ...

  6. php替换文件指定行的内容

    //第一种 利用file 函数 读取文件,每一行都是一个数组元素 $arr = file($file); $arr[$line] = "hello"; file_put_conte ...

  7. python读文件指定行的数据

    import linecacheprint linecache.getline('url.txt',2) 读取url.txt文件的第2行内容

  8. 获取txt文件指定行内容

    #!/usr/bin/python num=0; ni=open("C:\Python34\ceshi.txt") for line in ni: num=num+1;  #表示行 ...

  9. 使用sed替换指定文件指定行的指定文本

    下面是将85行的127.0.0.1替换为192.168.10.108 sed -i '85{s/127.0.0.1/192.168.10.108/}' /etc/zabbix/zabbix_agent ...

随机推荐

  1. linux如何查看端口被哪个进程占用的方法

    linux如何查看端口被哪个进程占用的方法: 1.lsof -i:端口号2.netstat -tunlp|grep 端口号 都可以查看指定端口被哪个进程占用的情况[步骤一]lsof -ilsof -i ...

  2. (转)用Flink取代Spark Streaming!知乎实时数仓架构演进

    转:https://mp.weixin.qq.com/s/e8lsGyl8oVtfg6HhXyIe4A AI 前线导读:“数据智能” (Data Intelligence) 有一个必须且基础的环节,就 ...

  3. EZOJ #387字符串

    分析 似乎ttl的模拟赛t3总是折半搜索? 先把所有串转化为每个字母的0/1状态 之后我们将所有字符串分为两半 分别枚举状态 我们发现只有左右两边的字母状态相等才能保证这个集合合法 所以我们在搜左半边 ...

  4. ubuntu搭建jdk+jenkins

    第一步,安装jdk(如果已安装,直接进行第二步) 1.下载 jdk-8u172-linux-x64.tar.gz       点此下载   2.解压 tar -zxvf jdk-8u172-linux ...

  5. MySQL 安装示例数据库(employee、world、sakila、menagerie 等)

    sakila 示例数据库官方资料及安装说明,注意查看示例数据库支持的版本是否匹配你的数据库. 为了测试,有时候需要大量的数据集,MySQL 官方提供了用于测试的示例数据库,下载页面在 这里. 下面以 ...

  6. vs2010修改的内容在浏览器页面不变怎么办

    解决方法1: 如果是静态页面, Ctrl+F5 强制刷新浏览器页面 解决方法2: 页面中<%@ Page Language="C#" CodeBehind="Def ...

  7. Test Case Design Method - OATS

    [转载] OATS:即Orthogonal Array Testing Strategy,正交表测试策略. 1      OATS的概念: 次数(Runs):简单的说,就是次数是多少,就有多少个用例. ...

  8. Spring Security 01

    环境搭建 maven依赖jar包 <!-- spring-security --> <dependency> <groupId>org.springframewor ...

  9. web调试代理工具Whistle

    由于最近在学习微信小程序开发,项目中用到了https代理请求,所以用到了基于Node实现的跨平台web调试代理工具Whistle,在此做一记录. 完成https代理请求总共需要5个步骤. 一.安装No ...

  10. python学习第三十六天命名空间的概念

    python命名空间也叫名字空间,也叫名称空间,任何编程语言都有命名空间,大体意思都一样,定义文件所在的目录,下面详细讲述命名空间几种情况 1,locals: 是函数内的名称空间,包括局部变量和形参 ...