2012-06-22 107 views

回答

4

這樣做的一種方法是安裝ADB(android調試橋,SDK的一部分)並將其作爲python的子進程啓動。除了別的之外,ADB可以用於讀取或寫入Android設備。

+0

你介意給出一個關於如何實際執行此操作的示例嗎? – Norfeldt

+3

這不是一個真正的解決方案,因爲它需要手機啓用USB調試功能,這對大多數人來說可能是正常的,但對於普通用戶來說可能沒有問題。 –

+1

@Norfeldt基本上,您必須爲您的操作系統安裝驅動程序並下載ADB文件。你有這個工作嗎?然後使用subprocess.Popen運行ADB,例如:res,err = subprocess.Popen([adb,'push',pc_source,device_dest],stdout = subprocess.PIPE).communicate() – foosion

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和不同手機型號的菜單選擇位置可能會有所不同。試試Google搜索「galaxy nexus enable mtp」。確保在搜索中包含您的Android和手機版本。

確保它是優質的usb電纜。質量差的電纜不能形成良好的連接,因此無法可靠地工作。

在我的手機和筆記本電腦之間連接顯示手機內部存儲和SD卡的USB電纜後,立即在我的桌面上顯示文件管理對話框。這允許我以兩種方式直接將文件傳輸到手機SD存儲(Linux Mint < - > LG Android ver。5.1)

請注意,也可以使用藍牙傳輸文件。

建立連接後,您需要找到設備名稱。然後可以使用標準的python文件結構打開設備,例如popen()等。

+1

這不是關於有線的,而是關於如何用Python代碼在手機上(通過FTP)寫一個文件,它不是**就像'打開('mtp://SamsungA3/hello.txt','w')爲f:f.write('hello')'... – Basj