擅长:python、mysql、java
<p>如果要处理文件,则应始终记住关闭文件,以确保正确读取和写入数据,并确保释放资源。在</p>
<pre><code>import urllib
import re
with open("refID.txt", 'r') as referencefile:
IDlist = referencefile.read()
refIDlist = IDlist.split("\n")
with open("output.txt", 'w') as f:
i=0
while i<len(refIDlist):
url = "http://www.ncbi.nlm.nih.gov/clinvar/variation/"+refIDlist[i]
htmlfile = urllib.urlopen(url)
htmltext = htmlfile.read()
regex = '<dt>Variant type:</dt><dd>(.+?)</dd>'
pattern = re.compile(regex)
Vtype = re.findall(pattern,htmltext)
vt = Vtype[0]
printing = "Variation type of " + refIDlist[i] + " is " + str(vt)
print >> f, printing
i+=1
</code></pre>
<p>而不是编写f.close()和引用文件.close(),我用<code>with</code>语句打开了两个文件。这是处理文件时的最佳做法,因为当文件超出范围时,它将自动关闭文件。有关with语句的详细信息,请参见<a href="http://effbot.org/zone/python-with-statement.htm" rel="nofollow">here</a>。在</p>