将for循环输出保存到txt中

时间:2019-10-27 23:25:27

标签: python for-loop save

我被困在保存此for循环结果中,我已经在堆栈中进行了各种搜索以保存for循环的输出,但是我确实找到了正确的解决方案。我的代码是:

doc = sys.argv[1]
target = sys.argv[2]
fene = int(sys.argv[3])

a = open(file)
text = a.read() 
a.close()

tokens = text.split()
keyword = re.compile(target, re.IGNORECASE)

for index in range( len(tokens) ):
    if keyword.match( tokens[index] ):
        start = max(0, index-window)
        finish = min(len(tokens), index+window+1)
        lhs = " ".join( tokens[start:index] )
        rhs = " ".join( tokens[index+1:finish] )
        print("%s \t \t %s \t \t %s" % (lhs, tokens[index], rhs)) 

我尝试过 f = open("output.txt", w),然后在末尾(行打印)添加了f.write(lsm, tokens[index], rhs),此操作无效。甚至将open()放入for循环中。 怎么处理呢? 更新:我想要在txt中的for循环的输出。 image

1 个答案:

答案 0 :(得分:0)

@Michael在评论中回答解释。谢谢

saveme = open('output.txt', 'w') 
for index in range( len(tokens) ):
    if keyword.match( tokens[index] ):
        start = max(0, index-window)
        finish = min(len(tokens), index+window+1)
        lhs = " ".join( tokens[start:index] )
        rhs = " ".join( tokens[index+1:finish] )
        print("%s \t \t %s \t \t %s" % (lhs, tokens[index], rhs), file=saveme)
saveme.close()