python替换文件指定行|python如何替换文件指定内容

1. python如何替换文件指定内容

你是把str.replace(p1,p2)当成本地执行的了。即针对变量本身操作的了。我所知道的,除了有限的版几个权,比如list的reverse等,是直接针对变量本身操作的。其他的,都是只是执行对应动作而已。包括你这里的replace,所以需要把替换后的结果,返回到某个变量中,然后再打印出来,就可以看到变化了。顺带说一句,如果针对处理html的内容的话,倒是建议你用第三方库函数。原因见:【整理】关于用正则表达式处理html代码方面的建议(这里不给贴地址,所以请自己用google搜标题,即可找到帖子地址)=======================评论里面没法发表,写在这里给你看:看来,你本身对于回车和换行的概念,就不是很清楚,所以建议你去看我总结的:【详解】回车换行0x0d0x0acrlfrn的来龙去脉如果想换成回车换行,那么就是类似于这样的写法:replacedstr=str.replace("","\r\n");同理:(这里不给贴地址,所以请自己用google搜标题,即可找到帖子地址)

2. python代码如何替换文件中的某一条记录(某一行)

import refile = open("filename", "w+")data = file.read()re.sub("content_in_file", "new_content", data)file.write(data)file.close()

3. Python中怎么修改文件中的某一行内容。(文件很大,不能读取全部内容)

摘要:Python环境下文件的读取问题,请参见拙文Python基础——文件这是一道著名的Python面试题,考察的问题是,Python读取大文件和一般规模的文件时的区别,也即哪些接口不适合读取大文件。1.read()接口的问题f=open(filename,'rb')f.read()我们来读取1个nginx的日至文件,规模为3Gb大小。read()方法执行的操作,是一次性全部读入内存,显然会造成:MemoryError…也即会发生内存溢出。2.解决方案:转换接口(1)readl

Python 环境下文件的读取问题,请参见拙文 Python 基础 —— 文件

这是一道著名的 Python 面试题,考察的问题是,Python 读取大文件和一般规模的文件时的区别,也即哪些接口不适合读取大文件。

1. read() 接口的问题

f = open(filename, 'rb') f.read()

我们来读取 1 个 nginx 的日至文件,规模为 3Gb 大小。read() 方法执行的操作,是一次性全部读入内存,显然会造成:

MemoryError …

也即会发生内存溢出。

2. 解决方案:转换接口3. 真正 Pythonic 的方法

真正 Pythonci 的方法,使用 with 结构:

with open(filename, 'rb') as f: for line in f: <do something with the line>

对可迭代对象 f,进行迭代遍历:for line in f,会自动地使用缓冲IO(buffered IO)以及内存管理,而不必担心任何大文件的问题。

There should be one – and preferably only one – obvious way to do it.

(1)readlines() :读取全部的行,构成一个 list,实践表明还是会造成内存的问题;

for line in f.reanlines(): …

(2)readline():每次读取一行,

while True: line = f.readline() if not line: break

(3)read(1024):重载,指定每次读取的长度

while True: block = f.read(1024) if not block: break

然后在循环里面替换就好了

forlineinlines:if"aaaa"inline:#替换line=line.replace("aaaaaa","bbbbbb")f_w.write(line)

4. 如何编写Python脚本替换文件中的多行字符

基于文本文档(Markdown) 设想好需要的基本需要的表、字段、类型;使用 Rails Migration 随着功能的开发逐步创建表;随着细节功能的开发、需求,逐步增加字段,删除字段,或者调整字段类型;第一个 Release 的时候清理 Migrations 合并成一个;随着后期的改动,逐步增加、修改、删除字段或表。基本上我的所有项目都是这么搞的,这和项目是否复杂无关。所以我前面为什么说思路需要转变。

5. python里怎样替换,修改文本内容

当我们读取文件中内容后,如果想要修改文件中的某一行或者某一个位置的内容,在python中是没有办法直接实现的,如果想要实现这样的操作只能先把文件所有的内容全部读取出来,然后进行匹配修改后写入到新的文件中。

实例代码如下所示:

备注:

1. 旧文件的内容

hello,worldyanyan is good girlGood day is good day

2. 新文件在代码执行后的内容

hello,worldyanyan is good girlhello,yanyan

3. 需要注意的是权限的问题,对于旧文件必须要有读取权限,对于新的文件必须要有写入权限

6. python 用一个文件的特定行替换另一个文件的特定行

没完全明白你什么意思,第一个文件,有四组数据,第二个文件只有一组数据,那用第一个文件的哪组数据来替换?

7. python中指定行内容替换成另外一行指定的内容

# coding: utf-8def read():file_name='test2.txt'content = open(file_name)file_end = open('test3.txt', 'wa')data = ''for c in content.readlines():c_array = c.split(':')if len(c_array) < 2:file_end.write(c)continueelif "item" in c_array[0]:file_end.write(c)print c_array[1].split("\"")[1].strip()data = c_array[1].split("\"")[1].strip()elif "exp" in c_array[0]:test = c.replace('~', data)file_end.write(test)read()

8. 用python修改文件中指定的行数

python默认库不能随机读写文件。只能一次读入和写入。以下是示例代码。

filename='setup.ini'lines=[]withopen(filename,'r',encoding='utf8')asf:lines=f.readlines()lines[167]='UPI1=Chinese'lines[231]='UPI1=Chinese'withopen(filename,'w',encoding='utf8')asf:f.write(''.join(lines))f.flush()

修改需谨慎,修回改前请记得备答份,不明白可追问。

9. python 改写文本文件的某一行

defeachline(filename):withopen(filename,'rt')ashandle:forlnno,lineinenumerate(handle):yieldlnno,linewriteback=[]forline_no,lineineachline(filename):iftobefindinline:printtobefind+1line=changeto+''writeback.append(line)withopen(filenamem,'wt')ashandle:handle.writelines(writeback)

10. 怎样用Python改写某文件第n行

如果文件不是很大,可以先将文件内容读入列表,修改列表后再写回文件


赞 (0)