Programm startet jedoch keine Fehlermeldung

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.
Antworten
Michael

Donnerstag 13. Oktober 2005, 14:30

Hallo,
ich habe folgendes kleines prog. geschrieben:

Code: Alles auswählen

#kopiert von Url zu direktem Verzeichnis

import urllib2
from datetime import date

def holeWarFile(status, version, hauptUrl):
    #Herholen des aktuellen Datums
    dateW = date.today()
    dateS = str(dateW)

    #Zusammenbasteln des Strings
    eFile = "opas_" + dateS[2:4] + dateS[5:7] + dateS[8:10] + version + ".war"
    url = hauptUrl + eFile
    
    u = urllib2.urlopen('http://192.168.25.147/autobuild/opas/4.3/opas.war')
    f = file(url,"w")
    f.write(u.read())
    u.close()
    f.close()


#Eingabe

    status = raw_input("Einspielen des neuen .war Files?(ja/nein) ")
    
    if status == "ja":
        version = raw_input("Version? (1,2,3,c,h) ")
        hauptUrl = raw_input("Wo soll die Datei hin? (Pfad oder 'Standart = 1') ")

        if hauptUrl == 1:
            hauptUrl = ""
            holeWarFile(status, version, hauptUrl)
        else:
            holeWarFile(status, version, hauptUrl)
            
    else:
        print "Bye!"
        raw_input()

Ich habe das Problem das sich das Prog. startet, jedoch keine Ausgabe macht. Die IDLE zeigt nur ein weiteres >>> an und das wars :(
Was könnte das Problem sein?

Gruss Michael
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Donnerstag 13. Oktober 2005, 14:42

Michael hat geschrieben:Ich habe das Problem das sich das Prog. startet, jedoch keine Ausgabe macht. Die IDLE zeigt nur ein weiteres >>> an und das wars
Hi Michael!
Deine Einrückung stimmt nicht. Der Untere Teil (ab #Eingabe) sollte nicht mehr zur Funktion "holeWarFile" gehören.

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
mbierenfeld
User
Beiträge: 39
Registriert: Donnerstag 9. Dezember 2004, 22:02
Wohnort: Muenchen

Donnerstag 13. Oktober 2005, 15:24

also ich find ein Pgm sollte immer so starten. bin halt c/c++/java versaut

Code: Alles auswählen


# ------------------------------------------------------------------------

if __name__ == "__main__":
    #Eingabe  
     status = raw_input("Einspielen des neuen .war Files?(ja/nein) ") 
    # usw
BlackJack

Donnerstag 13. Oktober 2005, 23:14

Das mit dem Datum geht etwas einfacher:

Code: Alles auswählen

In [29]: d = datetime.date.today()

In [30]: d.strftime('%y%m%d')
Out[30]: '051014'
Den Namen und die `hauptUrl` solltest Du besser mit `os.path.join` zusammensetzen und die Datei eventuell im Binärmodus öffnen, also mit 'wb' statt nur mit 'w'. Es sei denn so eine '.war' Datei ist eine Textdatei.
Michael

Freitag 14. Oktober 2005, 07:16

BlackJack hat geschrieben:Das mit dem Datum geht etwas einfacher:

Code: Alles auswählen

In [29]: d = datetime.date.today()

In [30]: d.strftime('%y%m%d')
Out[30]: '051014'
Den Namen und die `hauptUrl` solltest Du besser mit `os.path.join` zusammensetzen und die Datei eventuell im Binärmodus öffnen, also mit 'wb' statt nur mit 'w'. Es sei denn so eine '.war' Datei ist eine Textdatei.
Stimmt, die Datei wurde ohne Inhalt geöfnet. Mit "wb" geht es nun.

Michael
Antworten