Seite 1 von 1

chmod, ein string und eine Null

Verfasst: Sonntag 10. Oktober 2010, 18:31
von Gremlin
Ich komme mir zwar etwas blöd vor, aber ich kann mir nicht anders helfen als zu fragen.

Ich hab ein Problem mit chmod. Es ist zwar nicht os.chmod, aber eine ähnliche Funktion (paramiko) mit den selben Argumenten.
Nun, die Sache ist die, ich habe einen String:

'0755'

Den an die Funktion zu übergeben, führt zu einem Fehler. Eben weil es ein String ist. Nichts überraschendes.
Aber... wie krieg ich das jetzt gebacken, dass, wenn ich eine Zahl draus mache, die Null da bleibt wo sie ist?

Wenn ich im Quelltext "chmod(pfad, 0755)" angebe, funktioniert es.
Auch mit "chmod(pfad, long(0755))" geht es. (Im ja im Prinzip das selbe...)

Aber nicht mit "chmod(pfad, long('0755'))".
Also, es geht schon, aber das Ergebnis ist nicht dass die Datei diese Rechte hat, sondern 307.

Hilfe?

Re: chmod, ein string und eine Null

Verfasst: Sonntag 10. Oktober 2010, 18:41
von DaMutz
wenn eine Zahlenfolge mit 0 startet wird es als Octal Zahl (Basis 8) interpretiert (soweit ich weiss gibt es eine Exception mit Python > 3.0). Diese Umwandlung musst du in diesem Fall machen.

Code: Alles auswählen

In [10]: 0755
Out[10]: 493

In [11]: int('0755', 8)
Out[11]: 493

Re: chmod, ein string und eine Null

Verfasst: Sonntag 10. Oktober 2010, 18:53
von Gremlin
Danke. :) (Ich glaube ich sollte mir mal wieder die Doku zu int() zu Gemüte führen...)