J'ai ce problème avec un projet qui implique la programmation en Python. J'ai fait cette classe avec laquelle un écran apparaît et me permettant ainsi d'ouvrir un fichier xls. A l'intérieur de cette classe, le répertoire de ce fichier est ensuite placé dans cette variable 'nomfichier'. :>Comment utiliser une variable déclarée dans une classe, en dehors de cette classe?
class OpenFile(QtGui.QMainWindow):
def __init__(self):
super(OpenFile, self).__init__()
self.initUI()
def initUI(self):
openFile = QtGui.QPushButton('Open Orderpakket', self)
openFile.setGeometry(0, 00, 350, 300)
openFile.setStatusTip('Open new File')
self.connect(openFile, QtCore.SIGNAL('clicked()'), self.showDialog)
self.setWindowTitle('Open Orderpakket')
def showDialog(self):
filename = QtGui.QFileDialog.getOpenFileName(self, 'Open file',r'J:\Integratie Project\Files', "Excel Files (*.xls*.xlsx)")
print filename
À l'intérieur de cette classe, le nom de fichier de variable contient en effet le répertoire correct. Maintenant, je veux l'utiliser ici, outsite une classe ou d'une définition:
wb = xlrd.open_workbook(filename)
Cela ne fonctionne pas, me donner l'erreur que « le nom de fichier n'est pas défini »
J'ai lu au sujet de la La commande 'globale' de Python qui semble avoir la solution, mais je n'arrive pas à la faire fonctionner.
Quelqu'un?
Python n'a pas de concept de " déclaration". Les variables ne sont pas "déclarées". Veuillez corriger votre titre pour décrire ce que vous ** faites vraiment **. Vous ne parvenez pas à utiliser 'self' pour créer une variable d'instance. Votre titre pourrait être quelque chose comme "Comment puis-je prendre en charge une variable d'instance sans utiliser' self' ", puisque c'est peut-être ce que tente de faire votre code. –