Ir para conteúdo
Fórum Script Brasil
  • 0

Alterar um mesmo arquivo de varias pastas


gurynw

Pergunta

Pessoal é o seguinte tenho que alterar um arquivo que encontra-se em diversas pastas (Pasta_raiz: H1, H2, H3, N1, N2,N2...) 

Fiz um código que pegasse apenas o H1 para testar as alterações, deu certo, mas agora preciso fazer para todos de uma vez, lembrando que dentro de casa pasta existe o arquivo de mesmo nome. 

Este é o código para a pasta H1 agora preciso fazer que ele replique de uma vez para todas as pastas.

-------------------------------------
# BIBLIOTECA 
#-------------------------------------

import nibabel as nib
import numpy as np
from os import walk


#-------------------------------------
#LEITURA NIFTI
#-------------------------------------

img = nib.load('H1/aparc.DKTatlas+aseg.nii.gz')
img.shape
img2 = img.get_fdata()
y = np.ravel(img2)
x = np.unique(y)

#-------------------------------------
#REMOVER LINHAS 
#-------------------------------------

z = np.delete(x, (0, 4, 23, 47, 48, 50, 79, 80, 82), axis=0)

#-------------------------------------
# REMOVE NUMEROS DUPLICADOS
#-------------------------------------

def remove_duplicados(y):
    l = [0]
    for i in y:
        if i not in l:
          l.append(i)
    l.sort()
    return l

y = remove_duplicados(y)

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

no modulo os.path tem funções para verificar se é arquivo ou diretorio, assim você sabera quando entrar numa pasta, e quando esta numa pasta com o aquivo

tambem há função de varredura de diretorio que diz o nome de todos os arquivos no diretorio

Link para o comentário
Compartilhar em outros sites

  • 0
27 minutes ago, ArteEN said:

no modulo os.path tem funções para verificar se é arquivo ou diretorio, assim você sabera quando entrar numa pasta, e quando esta numa pasta com o aquivo

tambem há função de varredura de diretorio que diz o nome de todos os arquivos no diretorio

Eu tentei olhar a bib do path mas ainda não funcionou para mim. Este código que eu montei ele funciona mas para uma pasta especifica,  agora preciso manter o comportamento do código só que para todas as pastas de uma vez pegando o mesmo arquivo. 

Exemplo:

users/Registro/H1/DKT.nii.gz
users/Registro/H2/DKT.nii.gz
users/Registro/H3/DKT.nii.gz
users/Registro/H4/DKT.nii.gz
users/Registro/H5/DKT.nii.gz

Cada pasta tem o mesmo arquivo que deverá ser lido pelo python e aplicar as correções escrito no código. 

Editado por gurynw
Link para o comentário
Compartilhar em outros sites

  • 0
import os

onde_esta_o_script = os.getcwd()
oq_tem_no_diretorio = os.listdir(onde_esta_o_script)

print(onde_esta_o_script)
print(oq_tem_no_diretorio)
print()

for i in oq_tem_no_diretorio:
    if os.path.isfile(i):
        msg = 'é arquivo'

    elif os.path.isdir(i):
        msg = 'é diretorio'

    else:
        msg = 'não sei o que é'
    print(i, msg)

 

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...