2016-04-07 29 views
0

Yığınlama akışında buradaki yanıtları okudum ve denedim, ancak yine de işe yaramıyor gibi görünmüyor. Ben bir dosya global.py ve bir dosya weather.py var. Küresel böyle bu dosyada küresel bir url ayrıştırma ve depolamak için değişkenler tutan i kodu çalıştırdığınızda buradaDosyalar arasında python'daki global değişkenler

f = urllib2.urlopen('http://api.wunderground.com/api/MYAPI/forecast/q/04002.json') 
json_string = f.read() 
parsed_json = json.loads(json_string) 
#location = parsed_json['location']['city'] 
day0 = parsed_json["forecast"]["simpleforecast"]["forecastday"][0] 
day1 = parsed_json["forecast"]["simpleforecast"]["forecastday"][1] 
day2 = parsed_json["forecast"]["simpleforecast"]["forecastday"][2] 

dayname_0 = day0['date']['weekday_short'] 
high_0 = day0['high']['fahrenheit'] 

ve benim weather.py dosya

from PyQt4.QtCore import Qt 
from PyQt4.QtGui import QWidget, QApplication, QSplitter, QLabel, QVBoxLayout, QColor 
import Adafruit_DHT 
import urllib2 
import wunderground 

temp = QLabel("Todays High: %s" % (high_0), self) 

i hatayı almak global adı high_0 tanımlı değil. Neyi yanlış yapıyorum. Wunderground'u en üste çıkardığımda, bu dosyadan da bana globals vermez mi? Ben global olarak yerleşik bir kelime olsa bu dosyayı yeniden adlandırmak için öneririm

cevap

0

Sen global dosyasını

from global import high_0 

ithalat gerekir. Widget = MyWidget() Dosya "wx.py içinde, Dosya "wx.py", satır 105: Tamam

+0

yüzden sadece (en son son çağrı) bu Traceback karşılaşmaya bir hata kurtuldum ", satır 47, __init__ d = QLabel (" Bugünün Yüksek:% s "% (high_0, kendiliğinden)) TypeError: dize biçimlendirmesi sırasında dönüştürülen tüm argümanlar değil –

+0

Aslında bu sorunu da düzelttim. temp = QLabel ("Bugünün Yüksek: {: 1}". format (high_0), self) doğru biçimdir. –

İlgili konular