Python | método os.dup2()
O módulo OS em Python fornece funções para interagir com o sistema operacional. OS vem em módulos de utilitário padrão do Python. Este módulo fornece uma maneira portátil de usar a funcionalidade dependente do sistema operacional.
Um descritor de arquivo é um pequeno valor inteiro que corresponde a um arquivo ou outro recurso de entrada / saída, como um canal ou soquete de rede. Um descritor de arquivo é um indicador abstrato de um recurso e atua como um identificador para realizar várias operações de E / S de nível inferior, como leitura, gravação, envio, etc.
Por exemplo: a entrada padrão é geralmente o descritor de arquivo com valor 0, a saída padrão é geralmente o descritor de arquivo com valor 1 e o erro padrão é geralmente o descritor de arquivo com valor 2.
Outros arquivos abertos pelo processo atual obterão o valor 3, 4, 5 e em breve.
os.dup2()
O método em Python é usado para duplicar um descritor de arquivo fd para um determinado valor fd2. O descritor de arquivo será duplicado para fd2 apenas se fd2 estiver disponível e o descritor de arquivo duplicado for herdável por padrão.
Descritor de arquivo herdável significa que se o processo pai tem um descritor de arquivo 4 em uso para um arquivo específico e o pai cria um processo filho, então o processo filho também terá o descritor 4 em uso para esse mesmo arquivo.
Sintaxe: os.dup2 (fd, fd2, herdável = verdadeiro)
Parâmetro:
fd : um descritor de arquivo, que deve ser duplicado.
fd2 : Este é o valor duplicado do descritor de arquivo.
herdável (opcional): um valor booleano, verdadeiro ou falso. O valor padrão deste parâmetro é True, o que significa que o descritor de arquivo duplicado pode ser herdado por processos filho. Para torná-lo não herdável, defina-o como False.Tipo de retorno: Este método retorna o segundo parâmetro fd2, ou seja, descritor de arquivo duplicado.
import
os
path
=
"/home/ihritik/Desktop/file.txt"
fd
=
os.
open
(path, os.O_WRONLY)
(
"Original file descriptor:"
, fd)
dup_fd
=
7
os.dup2(fd, dup_fd)
(
"Duplicated file descriptor:"
, dup_fd)
pid
=
os.getpid()
os.system(
"ls -l/proc/%s/fd"
%
pid)
os.close(fd)
os.close(dup_fd)
(
"File descriptor duplicated successfully"
)
Descritor de arquivo original: 3 Descritor de arquivo duplicado: 7 total 0 lrwx ------ 1 ihritik ihritik 64 Jun 14 06:45 0 -> / dev / pts / 0 lrwx ------ 1 ihritik ihritik 64 Jun 14 06:45 1 -> / dev / pts / 0 lrwx ------ 1 ihritik ihritik 64 Jun 14 06:45 2 -> / dev / pts / 0 l-wx ------ 1 ihritik ihritik 64 Jun 14 06:45 3 -> /home/ihritik/Desktop/file.txt l-wx ------ 1 ihritik ihritik 64 Jun 14 06:45 7 -> /home/ihritik/Desktop/file.txt Descritor de arquivo duplicado com sucesso
As postagens do blog Acervo Lima te ajudaram? Nos ajude a manter o blog no ar!
Faça uma doação para manter o blog funcionando.
70% das doações são no valor de R$ 5,00...
Diógenes Lima da Silva