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)
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