Seite 1 von 2
Fenster unsichtbar laufen lassen
Verfasst: Dienstag 28. August 2012, 09:57
von Pyanfänger
Hi!
ich hab heute einen mini-Chat erstellt, (naja, eher kopiert da ich kA hatte am Anfang... hab halt probieren alles so gut wie möglich zu verstehen usw), und wenn ich nun mit jemandem chatte (zb), dann haben ja beide immer die serverconsole offen - und selbst wenn nicht, hinter der client gui läuft die konsole. wie kann man diese "unsichtbar" machen?
MfG
Re: Fenster unsichtbar laufen lassen
Verfasst: Dienstag 28. August 2012, 10:25
von deets
Indem man der Python-Datei die Endung "pyw" verpasst. Dann startet pythonw.exe, ohne konsole.
Windows ist einfach wunderbar...
Re: Fenster unsichtbar laufen lassen
Verfasst: Dienstag 28. August 2012, 10:26
von Pyanfänger
Vielen Dank!
Ok, eine Frage hätt ich noch: wie kann ich per python dateien konsolen-befehle "simulieren" ?
Re: Fenster unsichtbar laufen lassen
Verfasst: Dienstag 28. August 2012, 12:06
von cofi
Klar, du hast eine vollstaendige Programmiersprache an der Hand.
Aber ich glaube du willst eher Befehle ausfuehren, `subprocess` ist dein Freund.
Re: Fenster unsichtbar laufen lassen
Verfasst: Dienstag 28. August 2012, 12:13
von Pyanfänger
Ok, thx

! Ich guck mir mal die Dokumentation dazu an
edit:
ich habe probiert mit
subprocess.Popen(['pfadzumeinerdatei', 'einargument das meine py datei braucht']) probiert die datei auszuführen - geht nicht...
Re: Fenster unsichtbar laufen lassen
Verfasst: Dienstag 28. August 2012, 13:38
von deets
"Geht nicht" geht gar nicht. Als Fehlermeldung bzw. Problembeschreibung.
Re: Fenster unsichtbar laufen lassen
Verfasst: Dienstag 28. August 2012, 14:33
von Pyanfänger
Code: Alles auswählen
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Python25\lib\subprocess.py", line 593, in __init__
errread, errwrite)
File "C:\Python25\lib\subprocess.py", line 815, in _execute_child
startupinfo)
WindowsError: [Error 2] The system cannot find the file specified
obwohl ich gaaaanz sicher den richtigen pfad angegeben hab...
Re: Fenster unsichtbar laufen lassen
Verfasst: Dienstag 28. August 2012, 14:42
von deets
Gaaaaaaaanz sicher nicht. Wie ist denn der Pfad? Und bitte reinkopieren aus dem Skript das nicht laeuft, und nix aus dem Kopf oder sonstwie veraendertes.
Re: Fenster unsichtbar laufen lassen
Verfasst: Dienstag 28. August 2012, 14:56
von Pyanfänger
C:\Users\deruser\Desktop\Chat\datei.py
deruser ist mein name, den wollte ich jetzt nich so richtig reinposten. (für die die wissen wollen was datei.py macht: ne mail mit anhang versenden. (ich will ein mail programm machen

) )
Re: Fenster unsichtbar laufen lassen
Verfasst: Dienstag 28. August 2012, 15:01
von sparrow
Das Script bitte. Du musst uns schon zeigen wo wir helfen sollen.
Wenn du in die Werkstatt gehst nimmst du doch auch dein Auto mit und erzählst dem Mechaniker nicht nur von dem Geräusch.
Re: Fenster unsichtbar laufen lassen
Verfasst: Dienstag 28. August 2012, 15:01
von deets
Es hat ja eigentlich einen Grund, Warum glaubst du habe ich geschrieben "genau so, wie er in dem Skript steht"? Weil ich deinen Usernamen rausfinden wollte, der mir schnurzpiepe ist, oder weil es wichtig ist, *WAS GENAU* du uebergibst?
Aber gottlob kann man auch so schon sehen, wo das Problem ist: ich vermute mal, dass dein Benutzername mit t oder n oder etwas anderem anfaengt - und deshalb dank der backslashes in Windows-Pfaden escaped wird.
Du musst also entweder einen raw-string verwenden (r"C:\foo\bar") oder deine backslashes doppelt escapen.
Und das alles haette schon vor 2 Stunden klar sein koennen, wenn du dich gleich mit dem richtigen Code + der dazugehoerigen Fehlermeldung hier kundgetan haettest....
Re: Fenster unsichtbar laufen lassen
Verfasst: Dienstag 28. August 2012, 15:05
von Pyanfänger
Code: Alles auswählen
#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
#!!!!!!!SCRIPT IST NICHT VON MIR!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
#!!!!!!wollte nur ein bisschen mir rumtesten, habs auch schon etwas verändert, aber es ist nicht von mir !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
import sys, smtplib, os
from email.MIMEMultipart import MIMEMultipart
from email.MIMEBase import MIMEBase
from email.MIMEText import MIMEText
from email.Utils import formatdate
from email import Encoders
class SendMail(object):
mailadress = '---------------'
smtpserver = '--------------'
username = '----------------'
password = '---------------'
def send(self, files):
to = self.mailadress
From = self.mailadress
if len(files) <= 3: subjAdd = ','.join(files)
if len(files) > 3: subjAdd = ','.join(files[:3]) + '...'
subject = 'Dateiupload: ' + subjAdd
msg = self.prepareMail(From, to, subject, files)
server = smtplib.SMTP(self.smtpserver)
server.ehlo()
server.starttls()
server.ehlo()
server.login(self.username, self.password)
failed = server.sendmail(From, to, msg.as_string())
server.quit()
def prepareMail(self, From, to, subject, attachments):
msg = MIMEMultipart()
msg['From'] = From
msg['To'] = to
msg['Date'] = formatdate(localtime=True)
msg['Subject'] = subject
# The Body message is empty # nichts als inhalt
msg.attach( MIMEText("") )
for file in attachments:
#We could check for mimetypes here, but I'm too lazy
part = MIMEBase('application', "octet-stream")
part.set_payload( open(file,"rb").read() )
Encoders.encode_base64(part)
part.add_header('Content-Disposition', 'attachment; filename="%s"' % os.path.basename(file))
msg.attach(part)
#Delete created Tar
return msg
if __name__ == '__main__':
mail = SendMail()
mail.send(sys.argv[1:])
Re: Fenster unsichtbar laufen lassen
Verfasst: Dienstag 28. August 2012, 15:10
von sparrow
Da wird nirgends subprocess aufgerufen...
Re: Fenster unsichtbar laufen lassen
Verfasst: Dienstag 28. August 2012, 15:13
von Pyanfänger
Hab ihc auch nicht. ich habe per subprocess in der pythonshell diese datei aufgerufen. Das ist nur die zieldatei, nichts anderes. Der subprocess war in der shell

Re: Fenster unsichtbar laufen lassen
Verfasst: Dienstag 28. August 2012, 15:19
von lackschuh
Mal eine Frage:
Müsste die korrekte Pfadangabe nicht
lauten anstelle von
?
Ich hatte nämlich bei bottle am Anfang auch das Problem, dass ich nur einen Backslash verwendet habe und darum nichts ging...
Re: Fenster unsichtbar laufen lassen
Verfasst: Dienstag 28. August 2012, 15:23
von Mad-Marty
Dir wird gleich niemand mehr helfen,
wenn du es nicht auf die reihe kriegst, mal den richtigen Aufruf einzufügen.
Am besten aus der interaktiven shell testen und kopieren ala
>>> subprocess.Popen(['xxxxxxxxxxxxxx', 'yyyyyyyyyyyyyy'])
[Blah Blah ,,,,,, Error]
Re: Fenster unsichtbar laufen lassen
Verfasst: Dienstag 28. August 2012, 15:24
von Pyanfänger
@lackschuh
Vielen Dank!!! Jetzt geht es!! Naja fast - Acces Denied ...

Wieso denn das?
@Mad-Marty den code und das was ich eingegeben habe hatte ich glaube ich bereits gepostet - udn das problem lag an den backslashes..
Könnte man nicht durch "chmod" die Rechte geben auf die Datei zuzugreifen?
Re: Fenster unsichtbar laufen lassen
Verfasst: Donnerstag 30. August 2012, 00:02
von Leonidas
Pyanfänger hat geschrieben:Könnte man nicht durch "chmod" die Rechte geben auf die Datei zuzugreifen?
Unter Windows eher nicht. Aber paste doch mal die gesamte Fehlermeldung, statt nur "Access Denied" (was mich übrigens nur an rote Fehlermeldungen aus schlechten Filmen mit Hackern erinnert, nicht an Dubugging).
Re: Fenster unsichtbar laufen lassen
Verfasst: Donnerstag 30. August 2012, 20:15
von Pyanfänger
Ok, hier ist es:
Code: Alles auswählen
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Python25\lib\subprocess.py", line 593, in __init__
errread, errwrite)
File "C:\Python25\lib\subprocess.py", line 815, in _execute_child
startupinfo)
WindowsError: [Error 5] Access is denied
Re: Fenster unsichtbar laufen lassen
Verfasst: Donnerstag 30. August 2012, 20:40
von Leonidas
Ok, prima, und nun den Code, der diese Fehlermeldung auslöst.