Seite 1 von 1
Programm fehler
Verfasst: Samstag 28. Oktober 2006, 10:47
von The_ride
Code: Alles auswählen
for i in range(7):
programm = i
pfad = "/home/prince/work/python/"
dateiname="bla.txt"
datei = pfad+dateiname
out_file = open(datei,"w")
out_file.write(programm)
out_file.close()
print "ende"
Code: Alles auswählen
prince@prince:~/work/python$ py test2.py
File "test2.py", line 4
programm = i
^
??????
was ist daran falsch ?
cya The_ride
danke für die antworten im vorraus
Edit (Leonidas): Code in Python-Tags gesetzt.
Verfasst: Samstag 28. Oktober 2006, 10:50
von Leonidas
Ja, du hast den Interessanten Teil vom Traceback weggelassen, den Part wo IndentationError steht. Der würde dir verraten, dass du die Zeile programm = i einrücken musst. In Python ist die Einrückung teil der Syntax.
Verfasst: Samstag 28. Oktober 2006, 10:55
von The_ride
IndentationError: expected an indented block
das hier ?
Verfasst: Samstag 28. Oktober 2006, 10:59
von Leonidas
The_ride hat geschrieben:IndentationError: expected an indented block
das hier ?
Exakt. Das sagt dir, dass du einen Fehler in der Einrückung hast (indentation).
Verfasst: Samstag 28. Oktober 2006, 11:22
von The_ride
ahhh
prince@prince:~/work/python$ py test2.py
File "test2.py", line 1
for i in range(7)
^
SyntaxError: invalid syntax
in basic ist das einfacher
n = 15
for i = 0 to n
open "d:/text.txt" for output as #1
print #1 "blablabla" n;
next i
close#1
end
so ungefähr weis nicht mehr genau habe kein basic für linux
zur erklärung was ish eigendlich will
ich habe eine internet seite die hat mehrere files mp3 jpg ....
nun wollte ich das mit wget -r .... aber da ist nen robot
der sich auch nicht mit -robotoff ausschalten lässt
also müßte ich das mit
wget
http://www.python-forum.de/images/smile ... iggrin.gif
jede einzelne datei runter laden das sind zu viele

oder kann ich direkt mit einem programm in python sagen lade alle jpg's
alle mp3's runter ????
cya The_ride
Verfasst: Samstag 28. Oktober 2006, 11:40
von Leonidas
Jetzt ist es mir zu blöd, alle deine Posts nacheditieren zu müssen, deswegen verlinke ich auf "
Was muss ich tun, damit meine Codebeispiele farbig und mit richtiger Einrückung angezeigt werden".
geht wunderbar. Basic gibt es übrigens auch für Linux.
Und ja, mit Python kannst du auch alle JPGs und mp3s einer Seite runterladen, erfordert ein wenig Arbeit, ist aber nicht allzu schwer.
Verfasst: Samstag 28. Oktober 2006, 11:47
von The_ride
ahh das mit dem code wußte ich nicht
danke für die antwort
Verfasst: Samstag 28. Oktober 2006, 11:52
von BlackJack
The_ride hat geschrieben:
in basic ist das einfacher
n = 15
for i = 0 to n
open "d:/text.txt" for output as #1
print #1 "blablabla" n;
next i
close#1
end
Das ist unlesbarer, auch in BASIC würde jeder Programmierer der das später auch mal lesen und verändern will, den Schleifenrumpf einrücken. Dann hättest Du vielleicht auch gesehen, dass dieser Code einen Fehler enthält: Die Dateien müssen *innerhalb* der Schleife geschlossen werden. Dein ``close`` wird nur einmal ausgeführt. Ausserdem überschreibst Du immer die gleiche Datei, Du solltest sie wenigstens zum erweitern/anfügen öffnen:
Code: Alles auswählen
n = 15
for i = 0 to n
open "text.txt" for append as #1
print #1, "blablabla", n
close #1
next
so ungefähr weis nicht mehr genau habe kein basic für linux

Gibt's aber:
FreeBASIC ein QuickBASIC clone,
MonoBasic (VB.NET),
Bywater BASIC und
Gambas fallen mir da so spontan ein.
zur erklärung was ish eigendlich will
ich habe eine internet seite die hat mehrere files mp3 jpg ....
nun wollte ich das mit wget -r .... aber da ist nen robot
der sich auch nicht mit -robotoff ausschalten lässt
Der Robot ist in diesem Fall `wget` und der respektiert es, wenn ein Seitenbetreiber in der entsprechenden Datei "/robots.txt" solche Massendownloads verbietet. Das trotzdem machen zu wollen ist ziemlich unhöflich!