문제

Ubuntu에서 Python 2.5를 사용하고 있으며 같은 네트워크에 기계가 있습니다. machine1. 폴더가 공유됩니다.

해당 시스템의 특정 폴더에서 파일을 가져 오는 방법은 무엇입니까?

나는 성공하지 않고 시도했다.

urllib.urlopen('\\machine1\folder\file.txt')
도움이 되었습니까?

해결책

Linux는 Utiliy라고 불렀습니다 smbmount, 이것은 내가 믿는 패키지 smbutils에서 찾을 수 있습니다.

이 유틸리티는 로컬 컴퓨터의 디렉토리에 Windows 공유를 제공하는 명령 줄 유틸리티입니다.

smbmount는 루트로 실행되는 유틸리티를 믿기 때문에 당신에게 적합한 지 여부는 모릅니다. 어쩌면 사용자로 사용할 수 있습니다.

Linux 시스템에서 기본적으로 공유를 마운트하여 로컬 파일로 파일에 액세스하거나 Python 스크립트 내에서 Exec 또는 그와 비슷한 것을 사용하여 SMBMount / SMBUMOUNT를 수행 할 수 있습니다.

mkdir WindowsShare # Do this only once
smbmount \\server\share /home/me/WindowsShare -ousername=...,password=...
ls /home/me/WindowsShare
smbumount /home/me/WindowsShare

사용자 이름과 비밀번호는 일부 보안을 위해 파일로 작성할 수 있습니다. 을 체크하다 남자 페이지.

당신이 무언가가 필요하면 완전히 파이썬을 살펴보십시오 pysmb. Google에 대한 용어는 Python, SMB, CIF입니다.

다른 팁

urllib SMB 프로토콜을 이해하지 못합니다. 사용해야합니다 gio 파일을 검색하려면 pygobject를 통해.

폴더가 공유되면 ~/.gvfs에 장착해야한다고 생각합니다. 아마도 당신은 단순히 사용할 수 있습니다 open ~/.gvfs에서 볼 수 있듯이 경로에서.

기본 파일 브라우저를 찾아야합니다.

그런 다음 프로세스를 실행하고 원하는 폴더를 인수 (smb : // machine1/폴더/)로 전달할 수 있습니다.

예를 들어 창문에서는 다음과 같습니다.

execl("explorer.exe", "D:")

파일 브라우저 (대부분 노틸러스)로가는 경로를 찾으십시오.

그래서:

execl("/bin/nautilus", "smb://.../")

일부 정보 execl

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top