python 打开某个文件 删除指定行

例如c=123456打开a.txt匹配123456的行并且删除该行在b.txt的最后添加c(作为行添加)谢谢forlineinopen("a.txt"):ifnotre.... 例如 c=123456
打开 a.txt 匹配 123456的行 并且删除该行
在b.txt的最后添加c(作为行添加)
谢谢
for line in open("a.txt"):
if not re.match("123456", line):
line[:-1]

line[:-1]是去掉123456结果的列表
如何写入a.txt文件
还有 c=123456 写入b.txt文件时 写入 换行123456
展开
 我来答
肖昀
推荐于2017-12-16 · TA获得超过498个赞
知道小有建树答主
回答量:419
采纳率:0%
帮助的人:110万
展开全部
c="123456"
a=open("a.txt","r").readlines()
res=open("a_res.txt","a")
for x in a:
res.write(x)
if c in x:#如果包含c就跳过
continue
res.close()

#添加b文件
bf=open("b.txt","a")
bf.write(c)
bf.close()

方法有很多,我觉得这个比较好理解。如果你熟悉copy也可以将a复制一份,直接操作复制以后的列表。
=============
关于你补充问题的for写法是错误的,open文件后返回的是个类似句柄的资源。
你打开了a文件,在循环中剔除,就无法对a进行写入操作。除非你关掉它。
所以你可以先读出来a文件,copy一份到aa变量,关掉a文件,然后循环aa数组,再写入到a文件。
或者象我上面给你的那样,生成一个a_res.txt文件。你再改名也行。

#b文件加换行
bf=open("b.txt","a")
bf.write("\n”+c)#这里就是加了换行
bf.close()
追问
能把这个写出来吗  
所以你可以先读出来a文件,copy一份到aa变量,关掉a文件,然后循环aa数组,再写入到a文件。
大哥 尽量你把我说的都写上吧 我新手 学着吃力
追答
不用copy了。这样就行。

c="123456"
a=open("a.txt","r").readlines()
open("a.txt","w").write("")#清空a文件
for x in a:
if c in x:#如果包含c就跳过
continue
open("a.txt","a").write(x) #之前写错地方了,应该放这里

#添加b文件
bf=open("b.txt","a")
bf.write(c)
bf.close()
进又槐同灿
2020-01-19 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:26%
帮助的人:685万
展开全部
是不是想要直接打开文件夹,那使用如下命令就可以
import
os
os.system('explorer.exe
/n,
文件夹路径')
这样就可以直接打开,要打开文件,不知道你是想在程序里读还是直接开文件,开文件用
os.system('cmd
/c
文件名')
在脚本中使用文件内容,那就使用open函数来读取文件内容。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
testcrab
2011-12-04 · TA获得超过488个赞
知道小有建树答主
回答量:291
采纳率:0%
帮助的人:247万
展开全部
以下内容纯属抄袭
原地址:http://zhidao.baidu.com/question/346250658.html

import re

list = []
matchPattern = re.compile(r'.+:\sdana') #简陋的reg用来匹配包含'dana'的那行
file = open('source.txt','r') #假设'source.txt'是你要处理的文档
while 1:
line = file.readline() #从文件中读出一行
if not line: #如果读出的是文件结尾,就退出循环
break
elif matchPattern.search(line): #如果读出的行匹配上了定义的reg,那啥也不做
pass
else: #如果读出的行不匹配reg,也不是文件尾,那就
list.append(line) #把这行存入list列表。
file.close()

file = open('target.txt', 'w') #重新打开一个文件,把list列表里面的内容
for i in list: #逐行写入。最后'target.txt'文件就是不包含
file.write(i) #'dana'那行的文件
file.close()
追问
这段代码要实现的功能和我想实现的功能不同 。
请看下我的要求

参考资料: http://zhidao.baidu.com/question/346250658.html

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式