2012-10-30 33 views
0

当我将机场设置为一个变量时,我可以获取文本文件。但是,如何获取多个机场代码的文本文件并显示信息?使用具有多个变量的字符串打开文件

airport = 'KSFO, KSJC, KOAK' 

for metar in urlopen('http://weather.noaa.gov/pub/data/observations/metar/stations/%s.TXT' %airport): 
     metar = metar.decode("utf-8") 
     if "%s" %airport in metar: 
      print metar 
+1

你需要拆就'字符串逗号(,)'并使用获得的列表中的单个元素。 –

回答

2

如果你的目标是获取天气对于每个机场的观察,您可以使用:

from urllib import urlopen 
airports = 'KSFO, KSJC, KOAK' 

for airport_code in airports.split(","): 
    for metar in urlopen('http://weather.noaa.gov/pub/data/observations/metar/stations/%s.TXT' % airport_code.strip()): 
     metar = metar.decode("utf-8") 
     print metar 

For我的输出是:

2012年10月30日07:56 KSFO 300756Z 29005KT 10SM FEW001 13/11 A3006 RMK AO2 SLP178 T01280111 402110117

2012年10月30日07:53 KSJC 300753Z AUTO 00000KT 10SM CLR 10/A3005 RMK AO2 SLP175 T0100 402060089 $

二〇一二年十月三十零日08:14 KOAK 300814Z 06003KT 10SM OVC004 13/12 A3007 RMK AO2

+0

你应该缩进最后两行。 – iabdalkader

1
airport = 'KSFO, KSJC, KOAK' 

for airports in airport.split(', '): 
    for metar in urlopen('http://weather.noaa.gov/pub/data/observations/metar/stations/%s.TXT' %airports): 
      metar = metar.decode("utf-8") 
      if "%s" %airports in metar: 
       print metar 

Basiclly我们分开airport变量,其中,(一个逗号和一个空格)为分隔成三个不同的变量有:

`airport.split(', ')` 
+0

它打印第一个机场代码,但后两个不起作用,因为链接中有空格。 – Savvis

+0

@Savvis修正了这个! – Willy