为什么我的脚本不会写入文件?

TIM*_*MEX 2 python unix linux file

import time
import traceback
import sys
import tools
from BeautifulSoup import BeautifulSoup

f = open("randomwords.txt","w")
while 1:
    try:
        page = tools.download("http://wordnik.com/random")
        soup = BeautifulSoup(page)
        si = soup.find("h1")
        w = si.string
        print w
        f.write(w)
        f.write("\n")
        time.sleep(3)
    except:
        traceback.print_exc()
        continue


f.close()
Run Code Online (Sandbox Code Playgroud)

打印就好了.它只是不会写入文件.它是0字节.

whe*_*ies 7

你永远不能离开while循环,因此f.close()永远不会调用调用,并且永远不会刷新文件的流缓冲区.

让我进一步解释一下,在你所包含的异常catch语句中,continue所以循环条件没有"退出".也许你应该添加某种指标,你已到达页面的末尾而不是静态1.然后你会看到close打印到文件的电话和信息.