我有一个主草稿文本文件,其中有像PA,ST等标记。我的意图是为每个标记创建一个文件,并将包含该标记的行写入相应的文件。下面是我当前的python代码
#!/usr/bin/python3
import sys
flnmc=sys.argv[1]
tags_dict={'PA':'Positive_Assertions','ST':'Self_improvement_Thought'\
,'TO':'TodO_task','WK':'WorK_todo','FN':'FuNny','CURRENT':'CURRENT'}
print(flnmc)
def grep_tags(tag):
with open(flnmc,'r') as fc:
for line in fc:
if tag in line:
print(line,end='')
grep_tags('WK')
fc=open(flnmc,'r')
for tag, s in tags_dict.items():
f=open("%s.txt" %s,'w')
for line in fc:
if tag in line:
f.write(line)
f.close()
问题:grep\u tags函数正在精细打印包含主文本文件标记的行。同时创建所有必需的文件。但是,当涉及到将grepped结果写入相应的文件时,我发现只有第一个标记的结果是按要求写入的,而其他标记文件是空的
放上: fc=打开(flnmc,'r') 内部声明: 对于tag,在tags\u dict.items()中的s: .... 环 i、 每次都必须调用open语句,否则它就会“过时”
这将把标记写入相应的文本文件。您错过的是在后面的部分打开
flnmc
文件相关问题 更多 >
编程相关推荐