2012-06-22 3 views

답변

4

이렇게하는 한 가지 방법은 ADB (SDK의 일부인 Android 디버깅 브리지)를 설치하고 Python에서 하위 프로세스로 시작하는 것입니다. ADB는 다른 것들 중에서도 안드로이드 장치를 읽고 쓰는 데 사용할 수 있습니다.

+0

실제로 이것을 수행하는 방법에 대한 예제를 제공 하시겠습니까? – Norfeldt

+3

휴대 전화에 USB 디버깅을 사용하도록 요구하기 때문에 해결책이 아닙니다. 이는 우리 대부분에게는 정상이지만 일반 소비자에게는 적합하지 않을 수 있습니다. –

+1

@Norfeldt 기본적으로 OS 용 드라이버를 설치하고 ADB 파일을 다운로드해야합니다. 그 일을하고 있니? 그런 다음 ADB를 실행하려면 subprocess.Popen을 사용하십시오. 예 : res, err = subprocess.Popen ([adb, 'push', pc_source, device_dest], stdout = subprocess.PIPE) .communicate() – foosion

6

Caliber는 인기있는 전자 책 관리 프로그램으로 MTP 연결을 통해 파일을 전송할 수있는 Python 및 C 소스 코드가 있습니다. http://code.google.com/p/calibre-ebook/downloads/list

+1

트렁크에서 관련 코드를 찾아 볼 수 있습니다. http://bazaar.launchpad.net/~kovid/calibre/trunk/files/head:/src/calibre/devices/mtp/ – rakslice

+0

조금 복잡해. – Norfeldt

4

나는 또한 똑같은 것을 찾고 있습니다. 교차 플랫폼의 경우 pymtp이고 Windows의 경우 wmdlib 인 것으로 보입니다.

+1

이 모듈에서 찾을 수있는 설명서 및 예제는 많지 않습니다. – Norfeldt

+0

필자는 결국 [pymtp] (https://pypi.python.org/pypi/PyMTP)를 사용하여 개선되었고, GNU/Linux 및 Mac OS X에서 잘 작동합니다. 여기에서 예제를 볼 수 있습니다. https : // github .com/guardianproject/keysync/blob/master/otrapps/util.py –

+1

저는 Windows 7을 사용 중이며 간단한 해결책을 찾고 있습니다. pymtp는 libmtp에 의존합니다. 다시 컴파일 할 때 LibUSB와 libiconv에 의존합니다 ... – Norfeldt

1

전화와 컴퓨터 사이에 usb 케이블을 연결하기 만하면됩니다.

휴대 전화의 설정 메뉴에서 MTP 전송을 활성화해야 할 수도 있습니다. 메뉴 선택 위치는 Android 및 다양한 휴대 전화 모델의 버전에 따라 다를 수 있습니다. "galaxy nexus enable mtp"에 대한 Google 검색을 시도해보십시오. 검색시 Android 및 전화 버전을 포함해야합니다.

좋은 품질의 usb 케이블인지 확인하십시오. 품질이 떨어지는 케이블은 제대로 연결되지 않으므로 안정적으로 작동하지 않습니다.

파일 관리 대화 상자는 휴대 전화와 노트북 사이에있는 USB 케이블을 연결하여 휴대 전화의 내부 저장 공간과 SD 카드를 모두 보여 주면 즉시 바탕 화면에 나타납니다. 이렇게하면 파일을 휴대 전화의 SD 저장 장치로 직접 전송할 수 있습니다 (Linux Mint < -> LG Android 버전 5.1)

또한 블루투스를 사용하여 파일을 전송할 수 있습니다.

연결을 설정 한 후 장치 이름을 찾아야합니다. 그러면 표준 파이썬 파일 구조 (예 : popen() 등)를 사용하여 장치를 열 수 있습니다.

+1

이것은 케이블에 관한 것이 아니라 파이썬 코드를 사용하여 전화로 파일을 작성할 수있는 방법입니다. open ('mtp : //SamsungA3/hello.txt', 'w')을 f : f.write ('hello')'...와 같이 사용하면 – Basj

관련 문제