[Python-es] Agregar/quitar permisos de un archivo

Enric Florit efz1005 en gmail.com
Mar Sep 13 20:44:27 CEST 2011


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 <efz1005 en gmail.com>

> 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 <jcaballero.hep en gmail.com>
>
>>
>>
>>
>> > .
>>
>> >
>> > 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
>> Python-es en python.org
>> http://mail.python.org/mailman/listinfo/python-es
>> FAQ: http://python-es-faq.wikidot.com/
>>
>
>
>
> --
> $$$$$   $$    $$   $$$$$   $$       $$$
> $$         $$$  $$   $$   $$           $$
> $$$       $$ $ $$   $$$$$   $$    $$
> $$         $$  $$$   $$ $$    $$     $$
> $$$$$   $$    $$   $$  $$   $$       $$$
>



-- 
$$$$$   $$    $$   $$$$$   $$       $$$
$$         $$$  $$   $$   $$           $$
$$$       $$ $ $$   $$$$$   $$    $$
$$         $$  $$$   $$ $$    $$     $$
$$$$$   $$    $$   $$  $$   $$       $$$
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20110913/efc9043b/attachment.html>


Más información sobre la lista de distribución Python-es