私は自分のpythonプログラムに少し問題があります。私はwxpythonで作業しており、イベントを介して関数「checkpipe」に関連付けられたボタンを介して読み取りモードでパイプを開こうとしています。問題は、ボタンをクリックすると、Python エラー インタープリターが次のように表示することです。
class fenetre(wx.Frame): #on va creer une nouvelle classe pour l'interface
def __init__(self, parent, id): #constructeur
filecontent = ""
wx.Frame.__init__(self, parent, id, 'Solution 1 ---> Destinataire', size = (640,480))
panel = wx.Panel(self)
verifybutton = wx.Button(panel,label = "Verifier", pos = (320,10), size = (80,30))
self.currentDirectory = os.getcwd() #trouver le chemin du dossier dans lequel on se trouve
self.Centre() #faire apparaitre la fenetre au centre
textprocessid = wx.StaticText(panel, -1, monid, pos = (400, 213))
self.Bind(wx.EVT_BUTTON, self.checkpipe, verifybutton)
def alertMessagePipeEmpty(self):
dialog = wx.MessageDialog(self, "Rien recu. Veuillez essayer plus tard","Erreur", wx.OK|wx.ICON_ERROR)
result = dialog.ShowModal()
dialog.Destroy()
def closewindow(self, event):
self.Destroy()
def checkpipe(self,names = None):
if not os.path.exists(fifoname):
os.mkfifo(fifoname)
pipein = open(fifoname, 'r')
contenu = pipein.read()
if contenu == "":
self.alertMessagePipeEmpty()
else:
dialog = wx.MessageDialog(self, "Vous avez un fichier a recevoir. Voulez-vous le sauvegarder","Fichier recu", wx.YES_DEFAULT|wx.ICON_ERROR)
result = dialog.ShowModal()
dialog.Destroy()
if result == wx.ID_YES:
dlg = wx.FileDialog(
self, message="Sauvegardez le fichier",
defaultDir=self.currentDirectory,
defaultFile="",
wildcard=wildcard,
style=wx.SAVE | wx.CHANGE_DIR
)
if dlg.ShowModal() == wx.ID_OK:
paths = dlg.GetPaths()
pathcomplet = ""
for path in paths:
pathcomplet = pathcomplet + path
dlg.Destroy()
fd2 = open(pathcomplet,'w')
fd2.write(contenu)
os.unlink(fifoname)
if __name__ == '__main__':
app = wx.PySimpleApp()
frame = fenetre(parent = None, id = -1)
frame.Show()
app.MainLoop()
TypeError: checkpipe() は正確に 1 つの引数を取ります (2 つ指定)
私はすべてを試しました。私が見逃しているのは愚かなことだと思いますが、それを理解できないようです。どんな助けでも大歓迎です。