Python | os.fchmod () método

|

En sistemas similares a Unix, los modos — estos son los permisos del sistema de archivos otorgados a usuarios, grupos y otras clases para acceder al archivo.
os.fchmod() en Python se usa para cambiar el modo de archivo especificado por el descriptor de archivo especificado al modo numérico especificado . Este método es equivalente a os.chmod (fd, mode) .

Nota. Este método solo está disponible en plataformas Unix.

Sintaxis: os.fchmod (fd, modo)

Parámetros:
fd: Un descriptor de archivo cuyo modo se va a establecer.
modo: un valor numérico que representa el modo que se va a establecer.
El modo también puede tomar uno de los siguientes valores o combinaciones ORed bit a bit de ellos:

  • stat.S_ISUID: Establecer ID de usuario en ejecución
  • stat.S_ISGID: Establecer ID de grupo en ejecución
  • stat.S_ENFMT: Bloqueo de registros obligatorio < /li>
  • stat.S_ISVTX: Guarda la imagen de texto después de la ejecución
  • stat.S_IREAD: Leído por el propietario.
  • stat.S_IWRITE : Escrito por propietario.
  • stat.S_IEXEC: Ejecutar por propietario.
  • stat.S_IRWXU: lectura, escritura y ejecución por propietario
  • stat.S_IRUSR: lectura por propietario
  • stat.S_IWUSR: Escrito por propietario.
  • stat.S_IXUSR: Ejecutar por propietario.
  • stat.S_IRWXG: Leer, escribir y ejecutar por grupo
  • stat.S_IRGRP: Leer por grupo
  • stat.S_IWGRP: Escribir por grupo
  • stat.S_IXGRP : Ejecutar por grupo
  • stat .S_IRWXO: Leer, escribir y ejecutar por otros.
  • stat.S_IROTH: Leído por otros
  • stat.S_IWOTH: Escrito por otros
  • stat.S_IXOTH: Ejecutado por otros

Tipo de devolución: Este método no devuelve ningún valor.

Código: usando el método os .fchmod ()

# Programa Python para explicar las definiciones del método os.fchmod()


# importación del módulo os

importación os


# importación del módulo de estadísticas

< clase de código = "palabra clave"> importar stat


< clase de código ="comentarios "> # Nombre de archivo

nombre de archivo = "file.txt"


# Abrir el archivo especificado y
# obtener descriptor de archivo
# relacionado con este
# os.open () método

fd = os. abrir (nombre de archivo, os.O_RDWR)


# Imprime el modo numérico actual
# archivo (octal)

modo = oct (os. stat (fd) .st_mode) [ - 3 :]

imprimir ( "Modo numérico actual del archivo (notación octal):" , modo)


# Ahora cambia el modo
Archivo #


# octal 777 como valor de modo
# leer, escribir y ejecutar por misión
# para propietario, grupo y otros

modo = 0o777

os.fchmod (fd, modo)

imprimir ( "Modo de archivo cambiado con éxito" )


# Imprimir modo numérico cambiado
# (octal) archivo

modo = oct (os.stat (fd) .st_mode) [ - 3 :]

imprimir ( "Modo numérico actual del archivo ( notación octal):" , modo)


El parámetro de modo # también puede ser
# definido por indicadores definidos en
# Módulo de estadísticas


# Modo de cambio

modo = stat.S_IRWXU

os.fchmod (fd, modo)

imprimir < código de clase = "simple"> ( "El modo de archivo se cambió correctamente" )

print ( "Ahora, el propietario solo puede leer, escribir y ejecutar el archivo" )


# Imprime el modo numérico modificado
# (octal) del archivo

modo = oct (os.stat (fd) .st_mode) [ - 3 :]

print ( "Modo numérico actual del archivo (notación octal):" , modo)

< /p>


# cambio de modo

< p> modo = stat.S_IRWXU | stat.S_IRGRP

os.fchmod (fd, modo)

imprimir ( "Modo de archivo cambiado con éxito" )

imprimir ("Ahora, Archivo se puede leer, escribir y ejecutar

por propietario pero puede ser leído por grupo")


# Imprimir modo numérico modificado
# (octal) archivo

modo = oct (os.stat (fd) .st_mode) [ - 3 :]

print (< /código> "Modo numérico actual del archivo (notación octal):" , modo)


# Cerrar el descriptor del archivo
os.close (fd)

Salir:

 Modo numérico actual del archivo ( notación octal): 666 El modo de archivo se cambió con éxito Modo numérico actual del archivo (notación octal): 777 El modo de archivo se cambió con éxito Ahora, el propietario solo puede leer, escribir y ejecutar el archivo Modo numérico actual del archivo (notación octal): 700 El modo de archivo cambió con éxito Ahora, el propietario puede leer, escribir y ejecutar el archivo, pero puede leerlo el grupo Modo numérico actual del archivo (notación octal): 740