Screenshot machen und hochladen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Benutzeravatar
mkesper
User
Beiträge: 919
Registriert: Montag 20. November 2006, 15:48
Wohnort: formerly known as mkallas
Kontaktdaten:

Kein Geheimnis: Das Frog-Modul
Flokass
User
Beiträge: 19
Registriert: Sonntag 18. Juli 2010, 13:22

Okay, werde ich ändern.
Shaldy
User
Beiträge: 123
Registriert: Sonntag 2. März 2008, 22:49

Ich wusste garnicht, dass das bekannt ist, deswegen hatte ich mich etwas gewundert.
Cooles Package, jedenfalls ;)
Dies ist keine Signatur!
Flokass
User
Beiträge: 19
Registriert: Sonntag 18. Juli 2010, 13:22

Ja auf jeden Fall... Ich hab's immer noch nicht geschafft dass er jetzt die Datei sendet :/

Wie geht das?
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Flokass hat geschrieben: Wie geht das?
Wie sieht denn Dein Code aus?
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
Flokass
User
Beiträge: 19
Registriert: Sonntag 18. Juli 2010, 13:22

Code: Alles auswählen

from frog import Pool
pool = Pool()

pool = Pool()
irfanpath = r"C:\Program Files\IrfanView"
snapdict = pool.snapinfo(irfanpath)
success = False
if "png" in snapdict["format"]:
 filename = pool.snapshot("pool.png",path=irfanpath)
else:
 filename = pool.snapshot("pool.jpg",path=irfanpath)
if filename:
 print("Screenshot gespeichert als Datei %s" %filename)
pool.ready()

import urllib2
import urllib

req = urllib2.Request(url='https://example.com/script.php',
                      data=urllib.urlencode({"source": "hier-datei-einfugen"}))
r = urllib2.urlopen(req)
print r.read()
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Und wo liegt hier der Fehler? (Meldung, Ausgabe, ...)

(Imports sollte man alle nach oben schreiben; nutzt Du Python3? Wenn nein ist print noch keine Funktion -> Klammern weglassen; Einrückungen wie schon zweimal gesagt sind 4 Spaces breit!)
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
Flokass
User
Beiträge: 19
Registriert: Sonntag 18. Juli 2010, 13:22

Ich nehme die aktuellste version von Python. Und der print-Teil geht. Das ist jetzt auch der Teil von dem Script der geht.
Benutzeravatar
/me
User
Beiträge: 3561
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

Flokass hat geschrieben:Ich nehme die aktuellste version von Python.
Die aktuellste Version ist 2.7. Die mit der höchsten Versionsnummer ist 3.1.2.

Bist du sicher, dass du Version 2.7 verwendest?
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Flokass hat geschrieben:Ich nehme die aktuellste version von Python. Und der print-Teil geht. Das ist jetzt auch der Teil von dem Script der geht.
Und wo liegt jetzt das Problem?
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
Flokass
User
Beiträge: 19
Registriert: Sonntag 18. Juli 2010, 13:22

Wie mache ich das dass es die Datei sendet?
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Flokass hat geschrieben:Wie mache ich das dass es die Datei sendet?
Nein, dass ist deine Frage. Vielleicht solltest du noch einmal alle Posts, besonders die letzten von Hyperion, lesen und alle Fragen beantworten.
Das Leben ist wie ein Tennisball.
Flokass
User
Beiträge: 19
Registriert: Sonntag 18. Juli 2010, 13:22

Okay, also ich habe jetzt erstmal die spaces noch richtig gemacht. Jetzt habe ich noch die Datei ausgelesen und in die Variable "bild" gespeichert. Allerdings kommt jetzt leider immer folgender Fehler:
>>>
Screenshot gespeichert als Datei pool.png
<bound method _fileobject.read of <socket._fileobject object at 0x02371B30>>
Und ich weiß nicht wieso... Das Script:

Code: Alles auswählen

import urllib2
import urllib
from frog import Pool
pool = Pool()

pool = Pool()
irfanpath = r"C:\Program Files\IrfanView"
snapdict = pool.snapinfo(irfanpath)
success = False
if "png" in snapdict["format"]:
    filename = pool.snapshot("pool.png",path=irfanpath)
else:
    filename = pool.snapshot("pool.jpg",path=irfanpath)
if filename:
    print("Screenshot gespeichert als Datei %s" %filename)
pool.ready()

datei="pool.png"
in_file = open(datei,"r")
bild = in_file.read()

req = urllib2.Request(url='http://example.com/script.php',
                      data=urllib.urlencode({"source": bild}))
r = urllib2.urlopen(req)
print r.read
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Welcher Fehler? Da ist kein Fehler.
Wenn du das hier `<...>` meinst, das ist die Ausgabe von `print r.read`. Willst du vielleicht die Methode ausfuehren?
Flokass
User
Beiträge: 19
Registriert: Sonntag 18. Juli 2010, 13:22

Okay, habe jetzt noch die klammern () an das read drangehängt. Jetzt kommt aber nurnoch das zurück:
>>>
Screenshot gespeichert als Datei pool.png
Aber mein Test-Script sagt mir dass nichts im POST war! Wieso? Und wie muss ich das jetzt machen dass es das Bild nun sendet? Es ist ja jetzt schon in der Variable "bild"... :(
BlackJack

@Flokass: Dein Test-Skript sagt Dir nicht das *nichts* im $POST war, sondern das nichts unter dem Schlüssel 'data' dabei war -- jedenfalls wenn es immer noch das gleiche Skript ist, was Du hier mal gezeigt hast. Was nicht weiter verwundert, denn unter dem Schlüssel wird ja auch gar nichts übertragen.
Flokass
User
Beiträge: 19
Registriert: Sonntag 18. Juli 2010, 13:22

Ach damn... Hatte vergessen das wieder zu ändern :)

Okay, jetzt gehts. Habe also mal das eigendliche Script rein gemacht. Das geht aber leider nicht. Sicher dass er auch das Bild sendet oder so?
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Flokass hat geschrieben: Okay, jetzt gehts. Habe also mal das eigendliche Script rein gemacht. Das geht aber leider nicht. Sicher dass er auch das Bild sendet oder so?
Wenn Du selber diese Aussagen noch einmal liest, erkennst Du das Verworrene und dazu die Unzulänglichkeiten? Wie sollen wir damit auch nur irgend was nützliches anfangen können? Wir wissen ja nicht einmal, auf was konkret sich die einzelnen Pronomen beziehen.
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
Antworten