[Python-de] strings zusammensetzen.

Peter Otten __peter__ at web.de
Mi Aug 30 15:24:46 EDT 2017


Hermann Riemann wrote:

> Am 30.08.2017 um 10:30 schrieb Peter Heitzer:
> 
>>>     der wegen des Lernaufwandes und Manual Suchens
>>>     lieber  os.system("rm "+dateiname)
>>>     als os.unlink(dateiname) verwendet.
>> os.unlink() dürfte aber portabler sein und auch mit Leerzeichen und
>> anderen speziellen Zeichen in dateiname zurechtkommen. Wer weiss, was
>> die Shell so treibt.
> 
> Bei Risisko halt:
> os.system('rm "'+dateiname+'"')

Das nützt nix. Sobald Dritte den Dateinamen bestimmen können, bekommst du 
Probleme:

$ cat demo.py
import glob
import os

for filename in os.listdir():
    if not filename.endswith(".py"):
        print("removing", repr(filename))
        os.system("rm '" + filename + "'")
$ touch foo\'\ -f\;echo\ \'oops
$ python3 demo.py
removing "foo' -f;echo 'oops"
oops
$ 




Mehr Informationen über die Mailingliste python-de