Jump to content

Verificar existência de caminho de rede


Recommended Posts

Posted (edited)

Boa tarde pessoal,

 

Estou com um problema que não consigo resolver, espero que ande por aqui alguem que consiga dar uma dica, então é assim:

 

Estou com um Raspberry pi, e com Python, estou a tentar verificar se uma caminho existe na rede, mas retorna sempre

falso quando esse caminho existe e está partilhado, o meu código é simples.
 

import os
import os.path


if os.path.exists("\\192.168.1.3\Files/Registos/"):   
    print ("True")
else:
    print ("Falso")

 

Já tentei também não colocar ip, e colocar o nome da maquina e retorna falso.

Este código apenas funciona com caminhos dentro do próprio Raspbbery.

 

Alguma ideia?

Edited by pwseo
Alterado título para algo mais descritivo
Posted (edited)

@Matiz,

O problema é que a linguagem Python desconhece o conceito de network shares, e por esse motivo deves configurar o sistema operativo do próprio Raspberry Pi para que esse caminho de rede seja associado a uma directoria «normal» do sistema (provavelmente consegues fazer isso com o comando mount). Dá uma olhadela neste link onde parece que estão a responder à tua questão.

Adenda: não precisas de import os.path, basta import os.

Edited by pwseo
Clarificação sobre imports.
Posted
Em 16/09/2018 às 09:45, pwseo disse:

@Matiz,

O problema é que a linguagem Python desconhece o conceito de network shares, e por esse motivo deves configurar o sistema operativo do próprio Raspberry Pi para que esse caminho de rede seja associado a uma directoria «normal» do sistema (provavelmente consegues fazer isso com o comando mount). Dá uma olhadela neste link onde parece que estão a responder à tua questão.

Adenda: não precisas de import os.path, basta import os.

 

 

Obrigado pela tua resposta.

Sim, tenho um resposta e na verdade como a ainda estou muito verde não entendi bem.

Este comando "mount", (se entendi bem) cria uma copia do original  no raspian, isso até bastaria se fosse apenas isso, mas na verdade o que quero fazer é:

 

1º verificar se o caminho existe, ou verificar se este pc está ligado na rede

2º mover ficheiros para uma pasta especifica (já partilhada)

 

Portanto não estou a ver como este comando "mount" me possa ajudar .

 

Já agora, e como escrevi no outro forum, eu estou a tentar isto entre o raspian e o CentOs, sendo os dois linux, não haverá uma forma mais facil?

Posted

Não, o comando mount dá-te a possibilidade de teres uma directoria do sistema de ficheiros que representa a pasta partilhada que tens no outro dispositivo, de forma transparente. Isto permite-te que acedas à pasta partilhada como se ela fizesse parte do sistema de ficheiros (quando na realidade não faz).

Posted
Em 17/09/2018 às 23:08, pwseo disse:

Não, o comando mount dá-te a possibilidade de teres uma directoria do sistema de ficheiros que representa a pasta partilhada que tens no outro dispositivo, de forma transparente. Isto permite-te que acedas à pasta partilhada como se ela fizesse parte do sistema de ficheiros (quando na realidade não faz).

 

Ok, já vi qual a finalidade do "mount".

Eu executei este comando "sudo mount -o rw //192.168.1.54/ISO_Jet5 /home/pi/wjet" , e consigo ter acesso aos ficheiro partilhados numa

localização na rede.

O problema é que no raspian não consigo criar/mover  novos ficheiro, dá erro de "Permission denied", apenas condigo fazer isso pelo terminal ex: "Sudo mkdir teste".

 

E eu preciso mover ou criar ficheiro nesta pasta partilhada usando scripts python.

 

Existe alguns comando "mount" que dê permissões?

Posted

Provavelmente tens aí um problema de permissões: repara que tu próprio dizes que ao utilizar o comando sudo (que serve para te elevar ao nível de superuser) consegues fazer essas operações através do terminal. Podes provavelmente utilizar a opção uid=1000 (assumindo que o id do utilizador que estás a utilizar é 1000) em vez da opção rw, mas não te consigo dar a certeza disto neste momento. Podes sempre experimentar 😉

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.