Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Problem mit Python

Frage Entwicklung Python

Mitglied: adinin

adinin (Level 1) - Jetzt verbinden

03.04.2010 um 22:07 Uhr, 4318 Aufrufe, 3 Kommentare

Hallo ich habe ein Problem mit Python.

Mein Problem ist das ich eine Python Programm schreibe mit hilfe von Tutourials und es geht fast nie ein Beispiel:

01.
def main(): 
02.
outfile = open ("text.txt","w") 
03.
 
04.
outfile write("Hallo das ist eine Toturial von Adinin" + "\n") 
05.
outfile write("Adinin-Scripts" + "\n") 
06.
outfile write("ByeBye" + "\n") 
07.
 
08.
outfile close() 
09.
main ()
Wiso geht das nicht?
Mitglied: Arano
03.04.2010 um 23:04 Uhr
Hallo Adinin

ich kenne Python nicht, habe zwar ein, zwei mal rein gesehen und die eine oder andere Datei etwas "modifiziert" aber sonst nie was damit zu tun gehabt.
Aber als erstes wre es trotzdem besser würdest du dich in Zukunft etwas genauer ausdrücken
Mit
Wieso geht das nicht ?
kann niemand etwas anfangen ! Da musst du schon genauer definieren was nicht funktioniert bzw. am besten wäre du erklärst kurz was es eigentlich tun sollte und was es stattdessen macht / nicht macht.
Wäre ja auch möglich das bei dir die neue Datei zwar erstellt wird, sie aber leer bleibt oder mit irgend einem Buchstabensalat gefüllt wird, oder oder oder...

Gibt es Fehlermeldungen sollten diese auch immer erwähnt werden, so wie diese, die ich bekomme lass ich dein Script laufen:
01.
arano@lamp:~$ python p.py  
02.
  File "p.py", line 2 
03.
    outfile = open ("text.txt","w") 
04.
05.
IndentationError: expected an indented block 
06.
arano@lamp:~$ 
Durch diese Fehlermeldung habe ich z.B. das hier gefunden: http://mail.python.org/pipermail/tutor/2007-January/051903.html
Python uses indentation to define blocks.
Alles was zu der Funtkion "main()" gehören soll, muss also eingerückt (indent) werden.
Danach kam diese Fehlermeldung:
01.
arano@lamp:~$ python p.py  
02.
  File "p.py", line 3 
03.
    outfile write("Hallo das ist eine Toturial von Adinin" + "\n") 
04.
05.
SyntaxError: invalid syntax 
06.
arano@lamp:~$
Und durch ein bisschen suchen hierzu (nicht vergessen ich habe keine Ahnung von Python) wusste ich anschließend das du den punkt (.) zwischen "outfile" und "write()" vergessen hast. Gas ganze muss am ende also so aussehen:
01.
def main(): 
02.
    outfile = open ("text.txt","w") 
03.
    outfile.write("Hallo das ist eine Toturial von Adinin" + "\n") 
04.
    outfile.write("Adinin-Scripts" + "\n") 
05.
    outfile.write("ByeBye" + "\n") 
06.
    outfile.close() 
07.
 
08.
main ()
Und wie du vielleicht jetzt schon bemerkst, durch das Einrücken ist das ganze schon mal um ein gutes Stück besser lesbar !

Und noch was zu dem Punkt:
Ich vermite mal, das durch "outfile = open()" ein Objekt erstellt wird das in der Variable "outfile" gespeichert wird. möchte man nun eine Methode dieses Objektes aufrufen, so verbinded man den Methodennamen mit der Variabel: "outfile.write()". Wir rufen also die Methode "write()" des Objektes "outfile" auf.
Das siehst du dann auch beim schließen der Datei wieder.

~Arano
Bitte warten ..
Mitglied: tikayevent
04.04.2010 um 00:09 Uhr
Ich weiß ja nicht, ob du dich an die Python-Vorgaben gehalten hast oder nicht, manchmal geht die Formatierung beim Copy&Paste verloren, aber Python benötigt die Einrückung zwingend. Andere Programmiersprachen nutzen geschweifte Klammern, Python benötigt die Einrückung.
Bitte warten ..
Mitglied: adinin
04.04.2010 um 10:56 Uhr
Danke Aron

Ich habe wirklich dieEinrückung vergessen die Punkte aber gemacht weis nicht wo die geblieben sind ^^)

Danke
Bitte warten ..
Ähnliche Inhalte
Python
Problem mit Python und imaplib2 (7)

Frage von meinsm zum Thema Python ...

Linux
gelöst Schmaler Scrollbalken in Python-Anwendung (14)

Frage von indi955 zum Thema Linux ...

Python
gelöst Python 2.6 oder 3.6 wer führt aus? (2)

Frage von peterpa zum Thema Python ...

Python
Python NewLine im Network Stream

Frage von Herbrich19 zum Thema Python ...

Neue Wissensbeiträge
Windows Tools

Zeit für Energiesparmodus, Bildschirmabschaltung etc. schnell anpassen

Anleitung von hannsgmaulwurf zum Thema Windows Tools ...

Linux Netzwerk

Ping und das einstellbare Bytepattern

(1)

Erfahrungsbericht von LordGurke zum Thema Linux Netzwerk ...

Windows Update

Microsoft Update KB4034664 verursacht Probleme mit Multimonitor-Systemen

(4)

Tipp von beidermachtvongreyscull zum Thema Windows Update ...

Heiß diskutierte Inhalte
Firewall
Richtige Grundeinstellungen der Pfsense für mein Netzwerk (14)

Frage von Spitzbube zum Thema Firewall ...

Switche und Hubs
gelöst Cisco 2960x Stacking über mehrere Etagen (12)

Frage von b3scher zum Thema Switche und Hubs ...