Hallo zusammen habe folgenes Script bei mir auf dem PI eingebunden..
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys, getopt
import uuid
log_file_directory = "/home/pi/logs" # don't use a '/' at the end!
log_file_name = "sniffed.txt"
def main(argv):
opts, args = getopt.getopt(argv,"s:")
for opt, arg in opts:
if opt == '-s': #meaning there's valid args/codes in it
full_log_file_name = log_file_directory + "/" + log_file_name
with open(full_log_file_name, 'a') as outfile:
sniffed_code = arg + "\n"
outfile.write(sniffed_code)
if __name__ == "__main__":
main(sys.argv[1:])
Wenn ich es starte kommt aber :
Call python /home/pi/bin/sniffer.py -s 13057193
File "/home/pi/bin/sniffer.py", line 17
with open(full_log_file_name, 'a') as outfile:
^
IndentationError: unexpected indent
Dachte es liegt am Dateipfad aber das war es wohl nicht
danke schonmal
Blutiger Anfänger braucht Hilfe IndentationError: unexpected indent
Hast du die Fehlermeldung mal gegoogelt? Das ist etwas, das einem in den ersten 2 Minuten Python Tutorial beigebracht wird. Einrueckungen sind in Python wichtig. Weswegen es auch wichtig ist, dass du deinen Code hier in den dazugehoerigen Tags postest, denn sonst gehen die verloren, und der Code verliert seine Bedeutung. Und wir koennen dir nicht helfen.
Wow, das ging ja schnell ... ja , hänge da jetzt 2 Tage dran .. finde den fehler einfach nicht ....
und hier die Fehlermeldung
und wenn ich python - m eingebe kommt das ...
evtl bin ich ja nicht ein aussichtloser fall
danke nochmals
Code: Alles auswählen
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys, getopt
import uuid
log_file_directory = "/home/pi/logs" # don't use a '/' at the end!
log_file_name = "sniffed.txt"
def main(argv):
opts, args = getopt.getopt(argv,"s:")
for opt, arg in opts:
if opt == '-s': #meaning there's valid args/codes in it
full_log_file_name = log_file_directory + "/" + log_file_name
with open(full_log_file_name, 'a') as outfile:
sniffed_code = arg + "\n"
outfile.write(sniffed_code)
if __name__ == "__main__":
main(sys.argv[1:])
Code: Alles auswählen
python sniffer.py
File "sniffer.py", line 17
with open(full_log_file_name, 'a') as outfile:
^
IndentationError: unexpected indent
Code: Alles auswählen
Traceback (most recent call last):
File "/usr/lib/python2.7/runpy.py", line 163, in _run_module_as_main
mod_name, _Error)
File "/usr/lib/python2.7/runpy.py", line 102, in _get_module_details
loader = get_loader(mod_name)
File "/usr/lib/python2.7/pkgutil.py", line 464, in get_loader
return find_loader(fullname)
File "/usr/lib/python2.7/pkgutil.py", line 474, in find_loader
for importer in iter_importers(fullname):
File "/usr/lib/python2.7/pkgutil.py", line 430, in iter_importers
__import__(pkg)
File "sniffer.py", line 17
with open(full_log_file_name, 'a') as outfile:
^
IndentationError: unexpected indent
danke nochmals
Wie hast Du denn Python gelernt, dass dort nicht erklärt wird, dass jeder Block an seiner Einrückung erkannt wird?
Zum restlichen Code: `getopt` wird seit Jahrzehnten nicht mehr benutzt. uuid wird importiert aber nicht benutzt. Zum Zusammenbauen von Pfaden benutzt man `os.path.join`, dann ist auch der Kommentar in Zeile 7 unnötig. Eingerückt wird immer mit 4 Leerzeichen pro Ebene, dann passiert es auch nicht so leicht, dass man da eine Einrückung nur halb macht.
Zum restlichen Code: `getopt` wird seit Jahrzehnten nicht mehr benutzt. uuid wird importiert aber nicht benutzt. Zum Zusammenbauen von Pfaden benutzt man `os.path.join`, dann ist auch der Kommentar in Zeile 7 unnötig. Eingerückt wird immer mit 4 Leerzeichen pro Ebene, dann passiert es auch nicht so leicht, dass man da eine Einrückung nur halb macht.