Matiz Posted September 14, 2018 at 05:32 PM Report #611849 Posted September 14, 2018 at 05:32 PM (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 September 16, 2018 at 08:47 AM by pwseo Alterado título para algo mais descritivo
pwseo Posted September 16, 2018 at 08:45 AM Report #611861 Posted September 16, 2018 at 08:45 AM (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 September 16, 2018 at 09:11 AM by pwseo Clarificação sobre imports.
Matiz Posted September 17, 2018 at 12:32 PM Author Report #611865 Posted September 17, 2018 at 12:32 PM 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?
pwseo Posted September 17, 2018 at 10:08 PM Report #611877 Posted September 17, 2018 at 10:08 PM 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).
Matiz Posted September 20, 2018 at 12:40 PM Author Report #611891 Posted September 20, 2018 at 12:40 PM 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?
pwseo Posted September 20, 2018 at 09:17 PM Report #611901 Posted September 20, 2018 at 09:17 PM 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 😉
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now