os.chmod -> modus probleme.

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
cov
User
Beiträge: 2
Registriert: Sonntag 13. Juli 2008, 09:24

Hi leute ich hab mir ein kleines script zum ändern der benutzerrechte meiner Datein geschreiben. mein Problem ist jetzt, das ich den modus, den ich ja bei os.chmod als zweiten parameter eingebne muss, nicht .schreiben kann.
Ich habe also für den besitzer der Datei, für die benutzer seiner gruppe und für alle anderen jeweils eine variable, die füge ich am ende zusammen, so das eine zahl wie zb. 777 herauskommt.
Da aber der modus als eine okalzahl geschreiben werden muss, muss ich da noch ne 0 vor bekommen. und hier liegt mein Problem. wie bekomm ich eine null davor, denn z.b. bei 0+777 kommt ja wieder 777 raus.

hoffe ihr könnt mir helfen.

llg cov.
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

Wo ist dein Problem?

Code: Alles auswählen

>>> print 0777
511
>>> int(raw_input('? '), 8)
? 777
511
cov
User
Beiträge: 2
Registriert: Sonntag 13. Juli 2008, 09:24

he danke. Mein problem war das ich nicht wusste das man mir int(777,8) eine oktal zahl ersellen kann, ich beschäftige mich mit python noch nicht so lange.
Aber hat super geklapt also danke.
BlackJack

Du kannst mit `int()` keine Oktalzahl erstellen, sondern aus einer Zeichenkette in Oktaldarstellung eine ganze Zahl machen.
noob1
User
Beiträge: 9
Registriert: Mittwoch 9. Juli 2008, 09:24

BlackJack hat geschrieben:Du kannst mit `int()` keine Oktalzahl erstellen, sondern aus einer Zeichenkette in Oktaldarstellung eine ganze Zahl machen.
Ist eine Zahl in Oktaldarstellung etwa keine "ganze Zahl"? Und warum in Oktaldarstellung?

Code: Alles auswählen

>>> int("777", 8)
511
>>> int("0777", 8)
511
>>>
audax
User
Beiträge: 830
Registriert: Mittwoch 19. Dezember 2007, 10:38

noob1 hat geschrieben: Ist eine Zahl in Oktaldarstellung etwa keine "ganze Zahl"?
Ne, nur eine Darstellung einer Zahl. Und dort liegt der Hund begraben...
Antworten