㈠ Python怎么修改一个文件
通常的做法是先将文件的所有内容读入内存,修改后再全部写回原文件。如果文件中所有数据的偏移地址都是固定的,那么可以以r+方式打开文件,将文件指针移动到要修改的数据处,写入新数据覆盖即可。
㈡ 求Python读取文件后写入内容替换原内容的办法
先将内容 读取到内存中修改,然后使用w模式直接覆盖原文件。如果文件较大,可以分割写入一个新文件,然后将原文件删除,将新文件重命名为原文件。
㈢ python里怎样替换,修改文本内容
当我们读取文件中内容后,如果想要修改文件中的某一行或者某一个位置的内容,在python中是没有办法直接实现的,如果想要实现这样的操作只能先把文件所有的内容全部读取出来,然后进行匹配修改后写入到新的文件中。
实例代码如下所示:
备注:
1. 旧文件的内容
hello,worldyanyan is good girlGood day is good day
2. 新文件在代码执行后的内容
hello,worldyanyan is good girlhello,yanyan
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)
㈤ python怎么修改文件的内容
没看懂,上面的很多数字都没用啊,而且这样除非用正则替换,要不麻烦死
㈥ python如何对文件内容进行修改
可以试试write.lines()函数
㈦ python如何替换文件指定内容
你是把str.replace(p1,p2)当成本地执行的了。即针对变量本身操作的了。我所知道的,除了有限的版几个权,比如list的reverse等,是直接针对变量本身操作的。其他的,都是只是执行对应动作而已。包括你这里的replace,所以需要把替换后的结果,返回到某个变量中,然后再打印出来,就可以看到变化了。顺带说一句,如果针对处理html的内容的话,倒是建议你用第三方库函数。原因见:【整理】关于用正则表达式处理html代码方面的建议(这里不给贴地址,所以请自己用google搜标题,即可找到帖子地址)=======================评论里面没法发表,写在这里给你看:看来,你本身对于回车和换行的概念,就不是很清楚,所以建议你去看我总结的:【详解】回车换行0x0d0x0acrlfrn的来龙去脉如果想换成回车换行,那么就是类似于这样的写法:replacedstr=str.replace("","\r\n");同理:(这里不给贴地址,所以请自己用google搜标题,即可找到帖子地址)
㈧ python中怎么进行txt文件的修改
# 导入正则包import re# 打开你的文件with open('data.txt','r') as f: # 读取文件内容 content = f.read() # 使用正则替换 res = re.sub('b1', 'b2', content) print(res)楼主可以具体查一下re.sub()的使用,希望能帮到你待你强大…
㈨ python读取txt文件,查找到指定内容,并做出修改
你可以把txt的修改后的内容给重新写入文件,这样子会覆盖之前的文件
㈩ gitpython如何修改文件内容不影响格式
三种方法_弧⑿薷脑募绞?_ef alter(file,old_str,new_str):??”””_婊晃募械淖址??:param file:文件名?:param old_str:就字符串?:param new_str:新字符串?:return:??”””_ile_data = “”?_ith open(file, “r”, encoding=”utf-8″) as f:?_or line in f:?_f old_str in line:?_ine = line.replace(old_str,new_str)?_ile_data += line?_ith open(file,”w”,encoding=”utf-8″) as f:?_.write(file_data)?_lter(“file1”, “09876”, “python”)?__言募谌莺鸵薷牡哪谌菪吹叫挛募薪写娲⒌姆绞???2.1 python字符串替换的方法,修改文件内容?_mport os?_ef alter(file,old_str,new_str):??”””?_婊坏淖址吹揭桓鲂碌奈募校缓蠼募境挛募奈次募拿???:param file: 文件路径??:param old_str: 需要替换的字符串??:param new_str: 替换的字符串??:return: None??”””?_ith open(file, “r”, encoding=”utf-8″) as f1,open(“%s.bak” % file, “w”, encoding=”utf-8″) as f2:?_or line in f1:?_f old_str in line:?_ine = line.replace(old_str, new_str)?_2.write(line)?_s.remove(file)?_s.rename(“%s.bak” % file, file)?_lter(“file1”, “python”, “测试”)??2.2 python 使用正则表达式 替换文件内容 re.sub 方法替换?_mport re,os?_ef alter(file,old_str,new_str):?_ith open(file, “r”, encoding=”utf-8″) as f1,open(“%s.bak” % file, “w”, encoding=”utf-8″) as f2:?_or line in f1:?_2.write(re.sub(old_str,new_str,line))?_s.remove(file)?_s.rename(“%s.bak” % file, file)
未经允许不得转载:山九号 » python文件内容修改|python如何替换文件指定内容