import re, urllib.request
patern = re.compile(r'image/\w*\W*\w*\.\jpg', re.I|re.M)
file = open('APODLinks.txt','r')
rf = file.read()
a = rf.split('\n')
file.close()
def lic(li):
if not li:
pass
else:
print(li[0])
f.write('http://apod.nasa.gov/apod/%s\n' % li[0])
def main():
for i in range(len(a)):
ur = urllib.request.urlopen(a[i])
mf = re.findall(patern, str(ur.read()))
lic(mf)
f = open('APODImgs.txt','w')
main()
f.close()
我的代码有什么问题,我尝试用所有 jpg 图片编写一个 txt 文件 来自当天的天文图片,但文件 APODImgs.txt 为空... mf 列表有时是空的也许这是我的问题......
APODLinks.txt 包含如下网址:
apod.nasa.gov/apod/ap140815.html
apod.nasa.gov/apod/ap140814.html
apod.nasa.gov/apod/ap140813.html
7000行网址
APODImgs.txt 必须如下所示:
apod.nasa.gov/apod/image/1408/Persei93_1abolfath.jpg
apod.nasa.gov/apod/image/1408/Supermoon_20140810.JPG
apod.nasa.gov/apod/image/1408/m57_nasagendler_3000.jpg
apod.nasa.gov/apod/image/1408/HebesChasma_esa_1024.jpg
...
请帮忙,抱歉我的英语...
最佳答案
很可能 not li
在 lic
中始终为 true,因为您的正则表达式不匹配。
要弄清楚这一点,请打印 HTTP 响应正文:
urr = urllib.request.urlopen(a[i]).read()
print repr(urr)
mf = re.findall(patern, urr)
print repr(mf)
lic(mf)
关于python - 将字符串列表写入txt文件,但文件为空,为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25330098/