Alterar arquivos na rede com Python

1,018 views
Skip to first unread message

Rodrigo Boniatti

unread,
Sep 10, 2016, 8:10:06 AM9/10/16
to Python Brasil
Olá, gostaria de saber se existe uma maneira de eu ler, escrever, alterar e excluir um arquivo na rede através do Python.

O serviço do Python fica em um servidor Linux e o diretório onde tenho que alterar os arquivos é em uma máquina Windows.

Obrigado.

Linux - Junior Polegato

unread,
Sep 10, 2016, 8:33:06 PM9/10/16
to python...@googlegroups.com

Olá!

Isso não tem nada a ver com o Python, você deve compartilhar de alguma forma o diretório onde estão os arquivos no Windows e então montar esse diretório no Linux,  aí para seu programa vai ser como um arquivo/diretório local.

[]'s

Junior Polegato


--
--
------------------------------------
Grupo Python-Brasil
http://www.python.org.br/wiki/AntesDePerguntar
 
<*> Para visitar o site do grupo na web, acesse:
http://groups.google.com/group/python-brasil
 
<*> Para sair deste grupo, envie um e-mail para:
python-brasil+unsubscribe@googlegroups.com

---
Você recebeu essa mensagem porque está inscrito no grupo "Python Brasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para python-brasil+unsubscribe@googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.

Gabriel Rocha

unread,
Sep 10, 2016, 8:59:25 PM9/10/16
to python...@googlegroups.com
Opa,

Vc pode usar o pysmb.

Att,
--
Gabriel Rocha
Mestre em Pesquisa Operacional e Inteligência Computacional - UCAM
Bacharel em Sistemas de Informação - IFF

Samuel Lopes Grigolato

unread,
Sep 11, 2016, 9:39:24 AM9/11/16
to python...@googlegroups.com
Gabriel,

Algum motivo especial para ir por esse caminho ao invés de deixar a montagem do diretório de rede inteiramente no SO (smbfs/cifs, seguindo uma linha mais próxima da proposta do Junior)? Penso eu que é uma prática melhor deixar o código python sem saber desse detalhe, assim se no futuro essa infra muda, o ajuste pode ser feito apenas no nível do SO, ao invés de ter que ser feito no SO e no código-fonte.

Talvez a ideia de facilitar a configuração da aplicação, oferecendo wizards mais fáceis de usar justifique a dependência na biblioteca, no entanto. Já teve alguma experiência com isso que possa ser compartilhada?

Atte.,
Samuel.

Gabriel Rocha

unread,
Sep 11, 2016, 10:47:22 AM9/11/16
to python...@googlegroups.com
Samuel,

O meu email anterior foi para responder a pergunta do Rodrigo, sobre a possibilidade de ler arquivos na rede utilizando Python.
Em um caso simples, onde somente um diretório é mapeado, eu iria com a solução do Junior, mas no caso de um sistema onde o usuário informa uma senha para acessar o diretório, sem a possibilidade de mapear essa unidades no SO, eu utilizaria o pysmb.

Att,
Gabriel

Thiago Salgado

unread,
Sep 11, 2016, 10:51:48 AM9/11/16
to python...@googlegroups.com

Pra mim, o cara quer escrever um ransomware

Samuel Lopes Grigolato

unread,
Sep 11, 2016, 11:13:26 AM9/11/16
to python...@googlegroups.com
Ah, sim. Esclarecido.

Tenho um background onde 99% dessas necessidades se resumem a um ou mais diretórios fixos, onde a solução agnóstica é a mais indicada, mas dependendo da flexibilidade necessária de fato trazer tudo para dentro do python pode ser inevitável, afinal ninguém quer mostrar um alerta pedindo para o usuário executar um mount antes de usar o software =]. Obrigado!

Atte.,
Samuel.

Samuel Lopes Grigolato

unread,
Sep 11, 2016, 11:18:14 AM9/11/16
to python...@googlegroups.com

Rodrigo Boniatti

unread,
Sep 12, 2016, 6:50:48 AM9/12/16
to Python Brasil
Obrigado galera pela ajuda.

É que existe um programa de terceiro rodando no Windows do cliente que salva documentos dentro da máquina dele, esse programa não permite que eu troque o diretório onde os arquivos são salvos, então precisava que acessasse via rede mesmo.

Vou tentar o pysmb, se não fluir como o esperado, vou criar um programa no Windows mesmo que lê a pasta e joga os arquivos encontrados para o servidor Linux.

Muito obrigado novamente.

Rodrigo Boniatti

unread,
Sep 14, 2016, 7:46:40 PM9/14/16
to Python Brasil
Fala galera!

Consegui resolver o problema.

Para acessar uma pasta compartilhada do Windows pelo Linux é necessário montar um disco baseado nesse diretório, para fazer isto basta digitar o seguinte comando no terminal também lembre de dar as permissões necessárias.

mount -t cifs //IP/pasta_para_compartilhar ./diretorio_no_linux -o username=user,password=abcdef



On Saturday, September 10, 2016 at 9:10:06 AM UTC-3, Rodrigo Boniatti wrote:

Thiago Salgado

unread,
Sep 14, 2016, 8:35:57 PM9/14/16
to python...@googlegroups.com

Você não queria fazer isso pelo python cara? O python smb faz a mesma coisa


--

Samuel Lopes Grigolato

unread,
Sep 14, 2016, 8:45:16 PM9/14/16
to python...@googlegroups.com
Eu particularmente gostei da solução do OP. Acabou indo por um caminho mais simples que atende o cenário dele. Eu vejo o python smb útil em cenários onde a aplicação recebe dinamicamente do usuário final (via config, GUI ou etc) os dados do local remoto, o que não parece ser o caso.

Thiago Salgado

unread,
Sep 14, 2016, 9:35:14 PM9/14/16
to python...@googlegroups.com

Concordo... Apenas me referi o caso que ele queria fazer isso pelo python

Rodrigo Boniatti

unread,
Sep 15, 2016, 8:48:55 PM9/15/16
to Python Brasil
Sim Thiago, no primeiro momento, mas acabei vendo que fazer um mount seria mais simples e fácil.

Mas valeu :D


On Saturday, September 10, 2016 at 9:10:06 AM UTC-3, Rodrigo Boniatti wrote:
Reply all
Reply to author
Forward
0 new messages