Python | método os.fchmod()

El módulo OS en Python proporciona funciones para interactuar con el sistema operativo. OS viene bajo los módulos de utilidad estándar de Python. Este módulo proporciona una forma portátil de usar la funcionalidad dependiente del sistema operativo.
En los sistemas similares a Unix, los modos son permisos del sistema de archivos otorgados a usuarios, grupos y otras clases para acceder a un archivo. 
El método os.fchmod() en Python se usa para cambiar el modo de un archivo dado 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. 
mode 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 aplicado
  • stat.S_ISVTX: Guardar imagen de texto después de la ejecución
  • stat.S_IREAD: leído por el propietario.
  • stat.S_IWRITE : Escribir por propietario.
  • stat.S_IEXEC : Ejecutar por propietario.
  • stat.S_IRWXU: lectura, escritura y ejecución por parte del propietario
  • stat.S_IRUSR: Leído por el propietario
  • stat.S_IWUSR : Escribir por propietario.
  • stat.S_IXUSR : Ejecutar por propietario.
  • stat.S_IRWXG: lectura, escritura y ejecución por grupo
  • stat.S_IRGRP : Lectura 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 : Ejecutar por otros

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

Código: Uso del método os.fchmod() 
 

Python3

# Python program to explain os.fchmod() method
 
# importing os module
import os
 
# importing stat module
import stat
 
# File name
filename = "file.txt"
 
# Open the specified file and
# get the file descriptor
# associated with it using
# os.open() method
fd = os.open(filename, os.O_RDWR)
 
 
# Print the current numeric mode
# (octal notation ) of the file
mode = oct(os.stat(fd).st_mode)[-3:]
print("Current numeric mode of the file (octal notation):", mode)
 
 
# Now change the mode
# of the file
 
# octal value 777 as mode means
# read write and execute permission
# for owner, group and others
mode = 0o777
os.fchmod(fd, mode)
print("\nFile mode changed successfully")
 
# Print the changed numeric mode
# (octal notation ) of the file
mode = oct(os.stat(fd).st_mode)[-3:]
print("Current numeric mode of the file (octal notation):", mode)
 
 
# mode parameter can be also
# given by flags defined in
# stat module
 
# Change mode
mode = stat.S_IRWXU
os.fchmod(fd, mode)
print("\nFile mode changed successfully")
print("Now, File can be read, write and executed by owner only")
 
# Print the changed numeric mode
# (octal notation ) of the file
mode = oct(os.stat(fd).st_mode)[-3:]
print("Current numeric mode of the file (octal notation):", mode)
 
 
 
# change mode
mode = stat.S_IRWXU | stat.S_IRGRP
os.fchmod(fd, mode)
print("\nFile mode changed successfully")
print("Now, File can be read, write and executed \
by owner but can be read by group")
 
# Print the changed numeric mode
# (octal notation ) of the file
mode = oct(os.stat(fd).st_mode)[-3:]
print("Current numeric mode of the file (octal notation):", mode)
 
 
# Close the file descriptor
os.close(fd)
Producción: 

Current numeric mode of the file (octal notation): 666

File mode changed successfully
Current numeric mode of the file (octal notation): 777

File mode changed successfully
Now, File can be read, write and executed by owner only
Current numeric mode of the file (octal notation): 700

File mode changed successfully
Now, File can be read, write and executed by owner but can be read by group
Current numeric mode of the file (octal notation): 740

 

Publicación traducida automáticamente

Artículo escrito por ihritik y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *