首页 > 解决方案 > 没有写入文本文件,python3

问题描述

def getlink():
with open('findlink.txt') as infile, open('extractlink.txt', 'w') as outfile:
    copy = False
    for line in infile:
        if line.strip() == "](":
            copy = True
        if copy:
            outfile.write(line)
        if line.strip() == ")":
            copy = False
            print("extractlink written.")
            infile.close()
            outfile.close()

def part3():
    with open ('findlink.txt', 'w') as findlink:
    findlink.write("[Testing](Test)")
    findlink.close() 
    print("findlink written and closed.")
getlink()

def run_bot():
    getlink() #Already have findlink.txt written

当 part3() 被激活时,文本会按预期写入 findlink.txt,但是当 getlink() 被激活时,extractlink.txt 永远不会被写入。

我从 2013/2016 年的帖子中收集了我当前的代码,有没有人知道为什么这可能不起作用?

标签: pythonpython-3.x

解决方案


试试下面的代码:

def getlink():
    with open('findlink.txt') as infile: 
        data = infile.readlines()

    with open('extractlink.txt', 'w') as outfile:
        copy = False
        for line in data:
            if line.strip() == "](":
                copy = True
            if copy:
                outfile.write(line)
            if line.strip() == ")":
                copy = False
                print("extractlink written.")
                outfile.close()
                extractlink()
                return

推荐阅读