2016-04-07 4 views
0

Ich habe gelesen und versucht, die Antworten hier in Stackoverflow, aber immer noch nicht scheinen, dies zu arbeiten. Ich habe eine Datei global.py und eine Datei weather.py. Globale hält die Variablen für eine URL-Analyse und Speicherung der globalen in dieser Datei wie folgt aus:Globale Variablen in Python zwischen Dateien

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'] 

und hier ist meine weather.py Datei

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) 

Wenn ich den Code ausführen bekomme ich den Fehler, Der globale Name high_0 ist nicht definiert. Was mache ich falsch. Wenn ich den Wunderground an der Spitze importiere, gibt mir das nicht auch die Globals aus dieser Datei?

Antwort

0

Sie benötigen die global Datei

from global import high_0 

ich Dir diese Datei umbenannt würde vorschlagen, importieren, obwohl als global ein eingebautes, Stichwort ist.

+0

ok so habe ich nur von einem Fehler beseitigt diesen Traceback zu begegnen (jüngste Aufforderung zuletzt): File "wx.py", Linie 105, in Widget = mywidget() File „wx.py ", Zeile 47, in __init__ d = QLabel (" Heute hoch:% s "% (high_0, self)) TypeError: nicht alle Argumente während der Formatierung von Strings konvertiert –

+0

Eigentlich habe ich gerade dieses Problem behoben. temp = QLabel ("Heute hoch: {: 1}". Format (high_0), self) ist das korrekte Format. –