Path: csiph.com!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail From: Hermann Riemann Newsgroups: de.comp.lang.python Subject: Re: [Python-de] Frage zu IDLE Date: Sat, 24 Jun 2017 05:45:16 +0200 Lines: 237 Message-ID: References: <6d376b0e-9139-92a3-7c34-2e6e9a2a22ed@sschwarzer.net> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit X-Trace: individual.net c4/G/7azhrA5TMzAcxOINADqPpTXM/MON9cDiujEId/MQN7VS1 Cancel-Lock: sha1:Jz6xVeHuLniJjn92OY0TkkCAjeM= User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.0 In-Reply-To: Content-Language: de-DE Xref: csiph.com de.comp.lang.python:4821 Am 25.05.2017 um 21:58 schrieb Stefan Schwarzer: > On 2017-05-25 17:51, Hermann Riemann wrote:> Die ersten beiden Zeilen sind dann >> >> #!/usr/bin/python3 >> >> # -*- coding: utf-8 -*- >> wobei ich vermute, das die 2.Zeile nicht mehr notwendig ist. > genau: > > https://docs.python.org/3/whatsnew/3.0.html > > ... > PEP 3120: The default source encoding is now UTF-8. > ... Danke, ich habe auf aktuellen Rechner diese Zeilen entfernt mit: #!/usr/bin/python3 import os,sys def no_utf(name): if len(name)<5: return n=name.rfind('.') if n<0 or name[n+1:]!='py': return try: f=open(name) l=f.readlines() f.close() except: print("cannot read",name) return if len(l)<2: return line1=l[0].rstrip() line2=l[1].rstrip() if line1!="#!/usr/bin/python3": return f=open(name,"w") for i,line in enumerate(l): if i==1 and line.rstrip()=="# -*- coding: utf-8 -*-": continue f.write("{}\n".format(line.rstrip())) f.close() def was_denn(name): if os.path.islink(name): name1=os.path.realpath(name) if os.access(name,os.F_OK): name=name1 else: print("{} für {} existiert nicht".format(name1,name)) return if os.path.isdir(name): for inf3 in os.walk(name): ordner_name=inf3[0] for datei_name in inf3[2]: no_utf("{}/{}".format(ordner_name,datei_name)) else: no_utf(name) for arg in sys.argv[1:]: if os.access(arg,os.F_OK): was_denn(arg) continue print(arg+" gibt es nicht") Hermann der nicht nur zur Python einrücken manchmal folgendes Programm verwendet: #!/usr/bin/python3 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() for i,t in enumerate(l): l[i]=t.rstrip() while len(l)>0 and len(l[-1])==0: l.pop() os.system("cp -p {} {}~".format(filename,filename)) first_blanks=level=0 f=open(filename,"w") for z in l: 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) -- http://www.hermann-riemann.de