Bueno, haciendo algunas pruebas más he conseguido entender lo de las
máscaras de bits.
Lo he resuelto así:
os.chmod(string, (0777 & ~stat.S_IXUSR))
que supongo que era la manera que me propuso lasiozoillo.
Gracias a todos por la ayuda!!
Por cierto...
En el primer mail dije que la duda era para un proyecto de traducción de
código PHP a Python.
El programa está en una fase muy preliminar, pero si queréis verlo y/o
colaborar, se puede descargar desde:
http://code.google.com/p/php2py/
Un saludo!
2011/9/13 Enric Florit <[email protected]>
> Primero, gracias a los dos por responder.
>
> He estado revisando la documentación de python y he hecho algunas pruebas
> como esta:
>
> bin(0777 & ~os.stat(path).st_mode)
>
> Pero esto sólo me devuelve una cadena binaria (el comportamiento esperado
> de la función)
>
> Pero si intento usar el resultado de la función bin() a os.chmod(), me dice
> que el argumento tiene que ser un entero:
>
> File "php2py.py", line 331, in <module>
> os.chmod(string, mask)
> TypeError: an integer is required
>
> Es que estoy pasando por alto algo o no entendí correctamente lo que me
> habéis dicho?
>
>
> 2011/9/13 Jose Caballero <[email protected]>
>
>>
>>
>>
>> > .
>>
>> >
>> > Para solventar esto, he intentado usar de nuevo os.chmod, pero si
>> primero le adjudico permisos de lectura y luego de escritura, se borran los
>> de lectura, y viceversa.
>> >
>>
>> Puedes adjudicar más de uno a la vez, operando primero a nivel de bits.
>> stat.S_blabla | stat.S_bleble | stat.S_bloblo ....
>>
>> O, en este caso particular, simplemente aplicando una máscara como ya te
>> han comentado.
>>
>>
>> Suerte,
>> Jose
>> _______________________________________________
>> Python-es mailing list
>> [email protected]
>> http://mail.python.org/mailman/listinfo/python-es
>> FAQ: http://python-es-faq.wikidot.com/
>>
>
>
>
> --
> $$$$$ $$ $$ $$$$$ $$ $$$
> $$ $$$ $$ $$ $$ $$
> $$$ $$ $ $$ $$$$$ $$ $$
> $$ $$ $$$ $$ $$ $$ $$
> $$$$$ $$ $$ $$ $$ $$ $$$
>
--
$$$$$ $$ $$ $$$$$ $$ $$$
$$ $$$ $$ $$ $$ $$
$$$ $$ $ $$ $$$$$ $$ $$
$$ $$ $$$ $$ $$ $$ $$
$$$$$ $$ $$ $$ $$ $$ $$$
_______________________________________________
Python-es mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/