Python OS.Exemplo de caminhada

Python OS.Exemplo de caminhada

A função de caminhada em qualquer sistema operacional é como o sistema operacional.caminho. A função de caminhada gera os nomes de arquivos em uma árvore de diretório navegando na árvore em ambas as direções, um transversal transversal de cima para baixo ou de baixo para cima. Todo diretório em qualquer árvore de um sistema tem um diretório base nas costas. E então atua como um subdiretório. O Walk () gera a saída em três tuplas, o caminho, o diretório e os arquivos que vêm em qualquer subdiretório.

  • Dirpath: É uma string que lidera os arquivos ou uma pasta em direção ao caminho para o diretório.
  • Dirnames: Todos os nomes dos subdiretos que não contêm '.' E '… '.
  • Nomes de arquivos: O caminho do diretório que contém arquivos que não sejam arquivos de diretório. É uma lista de pastas ou arquivos que podem ser arquivos criados pelo sistema ou criados pelo sistema.

Os nomes presentes na lista não contêm nenhum componente do caminho. Para buscar o caminho completo que começa de cima para um diretório ou arquivo no caminho do diretório, usamos OS.andar.junção () que tem argumentos de dirpath e o nome do diretório.

De cima para baixo e de baixo para cima são os dois argumentos opcionais de cada vez. Isso significa que qualquer uma das opções deve ser usada na função se queremos uma sequência de diretórios. Enquanto em alguns casos, a sequência de cima para baixo é selecionada por padrão se não mencionarmos nenhum argumento sobre essa sequência. Se o argumento de cima para baixo for verdadeiro, o triplo para o diretório principal será exibido primeiro e depois os subdiretos posteriormente. E se o de cima para baixo for falso, o triplo para o diretório será exibido depois disso para os subdiretos. Em outras palavras, a sequência está de baixo para cima.

Quando a situação de cima para baixo for verdadeira, o usuário pode atualizar a lista de nomes do diretório e, em seguida, Walk () será aplicado apenas nos subdiretos. Enquanto a atualização dos nomes dos diretórios quando o de cima para baixo é falso é inaplicável. Isso ocorre porque, no modo de baixo para cima, os nomes dos diretórios nos diretórios são exibidos antes do caminho do diretório. A função listdir () pode eliminar os erros por padrão.

Python OS.Walk () trabalhando

Vamos ver como o sistema de arquivos é atravessado em Python. Funciona como uma árvore com uma única raiz que se divide em galhos. E os ramos são expandidos como sub-ramos e assim por diante. Esta função de caminhada gera os nomes dos arquivos em uma árvore de diretório navegando na árvore de cima ou de baixo.

Sintaxe do OS.andar()

# OS.Walk (top [, topdown = true [OnError = Nenhum [sigalinks = false]]])

principal = É a cabeça ou um ponto de partida de qualquer travessia do subdiretório. Ele produz 3 tuplas, como descrevemos no início do artigo.

Careca = No caso em que é verdade, a varredura de diretórios é de cima para o final e vice -versa no caso oposto.

Oneroor = Este é um recurso especial que foi projetado para monitorar o erro. Pode mostrar um erro para continuar com a caminhada ou levantar a exceção para descartar a caminhada.

Siga os links = Leva a recursões imparáveis; está definido como verdadeiro.

Observação: O segue -se A opção é definida como verdadeira; leva a recursões imparáveis ​​se algum link apontar para o diretório base próprio. A função Walk () não recebe o registro dos diretórios que já atravessou.

Exemplo 1

Todos os arquivos no diretório devem ser listados usando esta função. Considere um trecho de código. O primeiro passo é importar o módulo do SO, como outros recursos a serem importados pela Biblioteca Python.

# Importar os

Depois disso, definiremos uma função chamada 'Módulo OS'. Dentro desta função, use um loop para obter todos os arquivos seguindo os diretórios e a raiz. A técnica de cima para baixo é usada aqui. E "segue -se”É mantido verdadeiro.

OS de importação
# O módulo OS fornece uma função que recebe uma lista de arquivos ou pastas
# em um diretório
# '.'significa a pasta atual
# Walk (…) Método gera os nomes de arquivos em uma árvore de diretório andando pelo
# árvore de cima para baixo ou de baixo para cima
Def OS_Module ():
para root, dirs, arquivos no sistema operacional.andar('.', Topdown = false, onError = Nenhum, sigalinks = true):
Para o nome do arquivo em arquivos:
Imprimir (nome do arquivo)
def main ():
print ('\ n… usando o módulo do sistema operacional para listar os arquivos… \ n')
os_module ()
se __name__ == '__main__':
principal()

Este módulo apenas imprimirá os nomes de arquivos no diretório. O '.'Parada completa que usamos aqui é especificamente para a pasta atual. No programa principal, chamaremos a função declarada.

Na saída, você pode ver os nomes de arquivos na pasta atual.

Exemplo 2

Esta função retornará o valor digitalizando todos os diretórios e os subdiretos no caminho atual do diretório da direção inferior para cima, como de cima para baixo = false aqui.

OS.andar(".”, Topdown = false) #!/usr/bin/python
OS de importação
para root, dirs, arquivos no sistema operacional.andar(".", Topdown = false):
para nome em arquivos:
Impressão (OS.caminho.Junte -se (raiz, nome))
Para nome em Dirs:
Impressão (OS.caminho.Junte -se (raiz, nome))

A para loop é usado para imprimir os arquivos e diretórios separadamente. O "OS.caminho.juntar”Traz o nome e o diretório principal do caminho.

Uma pequena parte da saída é mostrada acima. Se alguém quiser obter a saída na parte superior da ordem, o módulo de cima para baixo deve ser mantido como verdadeiro.

# OS.andar(".”, Topdown = true)

Exemplo 3

Este exemplo difere dos anteriores no tipo de parâmetros utilizados. Aqui a função leva apenas o 'caminho'. A para loop é usado para exibir os valores dos arquivos, diretórios do caminho. Se a declaração for usada para limitar o valor resultante em todas as linhas de cada vez. Aqui usamos 4. Após a cada 4 palavras, o valor será deslocado para a próxima linha. O valor inicial da variável 'i' é tomado como zero.

OS de importação
Path = "C: \\ Usuários"
i = 0
para (Path, Dirs, Arquivos) no OS.Caminhe (caminho):
Imprimir (caminho)
Impressão (Dirs)
Imprimir (arquivos)
imprimir("----")
i += 1
Se i> = 4:
quebrar

A respectiva saída é mostrada abaixo. O caminho, diretórios e arquivos são exibidos como saída.

Exemplo 4

Como o método Walk () no sistema operacional, também podemos usar o “OS.listdir ()”Alternativa ao caminho, que exibirá todos os valores do valor específico. eu.e., Aqui, usamos arquivos para serem impressos. O caminho é tomado como um argumento para a função. O valor resultante será armazenado na variável de arquivos. Para o loop exibirá todos os arquivos no respectivo diretório.

# Arquivos = os.ListDir (Path) Importar OS
caminho = '/usuários/usuário/.Spyder-Py3 '
arquivos = os.ListDir (caminho)
para f em arquivos:
impressão (f)

A lista é exibida aqui que contém todos os arquivos no respectivo diretório.

Exemplo 5

Você viu os exemplos em que todas as pastas ou caminhos são exibidas, mesmo aquelas que queremos esconder; Eles também estão expostos. Mas “Os.Walk () ”usa alguns recursos que permitem excluir os diretórios ocultos.

Depois de importar o módulo do SO, introduzimos o caminho que usaremos no exemplo.

# Dirs.[:] = [D para D em Dirs. Se não d.começa com('.')] Importar OS
caminho = 'c:/usuários/usuário/.Spyder-Py3 '
para root, dirs, arquivos no sistema operacional.Caminhe (caminho):
Impressão (raiz)
Dirs [:] = [D para D em Dirs, se não D.começa com('-')]
para dir no diretor:
Impressão (OS.caminho.Junte -se (raiz, dir))
para arquivo em arquivos:
Impressão (OS.caminho.JONE (ROOT, FILE))

Esse recurso é capaz de ocultar os diretórios, agora com esta lista, os diretórios ocultos não estão incluídos na saída.

Exemplo 6

Suponha que você tenha uma lista de nomes do diretório que deseja negligenciar durante a função Walk (). Uma maneira é usar o método como descrito acima. A segunda maneira vai ser explicada aqui. Isso dará o mesmo resultado.

# Dirs.[:] = [] Importar OS
caminho = 'c:/usuários/usuário/.Spyder-Py3 '
para root, dirs, arquivos no sistema operacional.Caminhe (caminho):
Se root em ignore_list:
Dirs [:] = []
arquivos [:] = []
Imprimir (Dirs [:])

Exemplo 7

Se você deseja tirar a impressão dos valores absolutos, os nomes dos subdiretos e os diretórios, mas não todo o caminho, neste caso, a função Python Walk é usada.

OS de importação
x = r'c:/usuários/usuário/.Spyder-Py3 '
Para R, D, F em OS.Caminhe (x):
Impressão (D)

Da saída, você pode ver que os valores resultantes se tornaram limitados.

Conclusão

A função 'Python OS Walk' é usada para atravessar todos os caminhos em um diretório, de cima para baixo ou de baixo para o topo. Também vimos como ocultar os dados indesejados a serem visualizados. Certamente este artigo será uma vantagem para implementar a função de caminhada do módulo do SO no Python.