Path: csiph.com!feeder.erje.net!2.eu.feeder.erje.net!npeer.de.kpn-eurorings.net!npeer-ng0.de.kpn-eurorings.net!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail From: Hermann Riemann Newsgroups: de.comp.lang.python Subject: =?UTF-8?Q?Re:_[Python-de]_Python_Einf=c3=bchrung_-_Bitte_um_Feedbac?= =?UTF-8?Q?k?= Date: Thu, 9 Mar 2017 10:41:40 +0100 Lines: 134 Message-ID: References: <2831be87-cc5f-2cf2-6999-863f2a021bf4@thomas-guettler.de> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit X-Trace: individual.net oMvUusM+A83M5x3e57hsoAbZWuppnCsENrqRMP+m0uXlLQG3Qu Cancel-Lock: sha1:qy+nB2AFrTGWG5zJG72SEt201RI= User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.7.0 In-Reply-To: Xref: csiph.com de.comp.lang.python:4685 Am 08.03.2017 um 21:52 schrieb Thomas Güttler: > ich habe meine Python Einführung überarbeitet: > http://thomas-guettler.de/vortraege/python/einfuehrung.html > Ich würde mich über Hinweise und Verbesserungsvorschläge freuen. Da gibt es bei mir Abweichungen: *SQL und andere Datenbanken vermeide ich aus einigen Gründen. Mein *py Dateien sind in Ordner, die ich mit grep -rn durchsuchen kann. Um zu vermeiden, das *.pyc meine Suche erschwert, habe ich *.py Programme gebastelt, die mir derartige Programme in einem anderen Ordner verschieben und symlinks setzten. Entsprechend arbeitet meine Datensicherung, die symlinks in ein Kopierordner wieder ersetzt, von wo aus ich diesen Kopieordner auf USB-Platten symlink-frei sichern kann. Ich habe zig Jahre lang sowohl beruflich als auch privat ohne Versionskontrolle Programme entwickelt. Ich mache nur noch Linux ( Wegen Alter windows .. gestrichen) PCs habe ich viele, hinzu kommt raspberry pi .. Ein selbst für Pythonentwicklung entwickeltes Programm sieht so aus: #!/usr/bin/python3 # -*- coding: utf-8 -*- import os, sys, string filenames=[] def pyr(filename): if not os.access(filename,os.F_OK): print(filename,"existiert nicht") return f=open(filename) l=f.readlines() f.close() os.system("cp -p {} {}~".format(filename,filename)) first_blanks=level=0 f=open(filename,"w") for line in l: z=line.rstrip() if len(z)<3 or z[:2]!="#$": if first_blanks==0: f.write(z) elif first_blanks >0: f.write(first_blanks*' ') f.write(z) elif len(z) < first_blanks: print(-first_blanks,z) f.write(z) else: f.write(z[-first_blanks:]) f.write('\n') continue c=z[2] if c=='<': level-=1 elif c=='>': level+=1 elif c==')': level=0 first_blanks=3*level f.close() for arg in sys.argv[1:]: if arg[0]=='-': pass filenames.append(arg) for filename in filenames: pyr(filename) Wobei ich nicht sicher bin, ob die Zeile # -*- coding: utf-8 -*- noch zweckmäßig ist. Mit diesem Programm kann ich die Blockeinrückung bequem verändern, was sonst in diversen Editoren Schwierigkeiten machen kann. Wenn ich cgi mache, sieht mein Programmanfang zusätzlich so aus: import cgi, cgitb, codecs, locale sys.stdout =codecs.open('/dev/stdout', 'w',"utf8") # mode. sys.stderr =codecs.open('/dev/stderr', 'w',"utf8") Damit erreiche ich, dass print auch utf-8 Sonderzeichen im browser korrekt anzeigt. Bei der Programmentwicklung verwende ich des öfteren folgende Bücher: Python 3 von Weigend mitp Python 3 von Ernesti, Kaiser Rheinwerk Python 3 gepackt von Weigend mitp Python kurz&gut von Lutz O'REILLY wobei ich anfangs kurz&gut dauernd, heutzutage kaum noch verwende. Meine hardware Ausrüstung sieht so aus: http://www.hermann-riemann.de/pic/Arbeitsplatz.jpg wobei Enwicklungsrechner und internet Rechner unterschiedlich sind. Leider beherrscht die Kombination aus aktuellem SuSE, KDE und Ati/AMD den Umgang mit Fenster im Multimonitorbetrieb nicht mehr, so dass ich Entwicklungsrechner und internet Rechner nicht mehr gleichzeitig aktiv lassen kann, ohne dass mir Fenster umgeordnet werden. Da die Bücher Bibliotheken nur unvollständig behandeln, und ich beim Entwickeln nicht umschalten mag, habe ich mir mit wget -rn https://docs.python.org/3/library/ mal losgeladen. Es waren ca 730 MB mit vielem, was ich nicht brauche. Ob es da eine bessere *tar.gz Alternative gibt, weiß ich nicht. Hermann der zum Programmieren meist Python 3 verwendet. -- http://www.hermann-riemann.de