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 展开
打开 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 展开
3个回答
展开全部
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=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()
展开全部
是不是想要直接打开文件夹,那使用如下命令就可以
import
os
os.system('explorer.exe
/n,
文件夹路径')
这样就可以直接打开,要打开文件,不知道你是想在程序里读还是直接开文件,开文件用
os.system('cmd
/c
文件名')
在脚本中使用文件内容,那就使用open函数来读取文件内容。
import
os
os.system('explorer.exe
/n,
文件夹路径')
这样就可以直接打开,要打开文件,不知道你是想在程序里读还是直接开文件,开文件用
os.system('cmd
/c
文件名')
在脚本中使用文件内容,那就使用open函数来读取文件内容。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
以下内容纯属抄袭
原地址: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
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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询