Python中section[0]仅输出RESIDENT首字母R,如何实现整词输出?
解决section[0]仅输出首字母的问题
嘿,我一眼就揪出你代码里的问题啦!你现在用print section[0]是在取每个section字符串的第一个字符,而不是打印整个字符串本身——这就是为啥你只能看到"RESIDENT"的首字母R!
问题根源
看你贴的代码片段:
for section in address: print section[0]
这里的section是line.split(":")拆分后得到的完整字符串(比如"RESIDENT"),而section[0]会直接提取这个字符串的第一个字符,自然只输出R了。
修正方案
如果你想打印完整的单词(比如整个"RESIDENT"),只需要把section[0]改成section就行:
import urllib from time import sleep while True: link = "http://www.capitalsurface.com/addresses.php" f = urllib.urlopen(link) content = f.read() if content: array = content.split("\n") for line in array: print "" address = line.split(":") for section in address: # 去掉[0],直接打印整个section字符串 print section sleep(1) # 建议加个sleep避免频繁请求服务器哦
额外提个小技巧:如果你的目标是提取"RESIDENT"对应的后续内容,其实可以直接通过索引获取,比如address[1](假设每行格式是RESIDENT: xxx),这样不用遍历整个数组,效率更高~
内容的提问来源于stack exchange,提问作者Kevin
相关产品推荐
相关产品推荐

