執行我有以下代碼:寫作Python中的文件上一次運行
f=open('data.txt', 'w')
conn = urllib2.urlopen('http://example.com')
page_html = conn.read()
data=BeautifulSoup(page_html)
count=0
out=""
for val in data.findAll('td'):
count=count+1
if(count%2==0 and val.contents):
out=out+val.contents[0].strip(' \n\t')+"\n"
if(count>=18):
f.write(out+"\n")
break
f.closed
現在,當我執行的代碼,以前運行的輸出變爲文件中的data.txt
例如,現在我在url中有example.com,我運行代碼,然後將url更改爲stackoverflow.com。現在,當我再次運行它並檢查data.txt時,我在data.txt文件中有example.com的輸出。下次我運行一個不同的url時,我在文件中獲取了stackoverflow.com的輸出。有人能幫我解決這個問題嗎?我在代碼的每個階段檢查了輸出。如果我直接給出輸出而不是寫入文件,它可以很好地工作。
難道你不想'f.close()'而不是'f.closed'? – Tebbe 2012-04-27 15:16:23
還應該指出的是,在Python中if語句周圍不使用括號。它應該是'如果計數> = 18:'和'如果計數%2 == 0和val.contents:' – 2012-04-27 15:32:02
@burhan這會有所作爲嗎?它不會產生任何錯誤或警告。 – gopi1410 2012-04-27 15:35:06