簡體   English   中英

如何使用python腳本將文件從移動SD卡移動到PC?

[英]How do I move files from mobile SD card to PC using python scripts?

我正在研究一個項目,其中圖像由我的Android手機拍攝並存儲在SD卡的文件夾中。 我正在處理一個python腳本,該腳本需要定期將文件夾從SD移到PC中的特定文件夾。 手機和PC通過移動設備熱點連接,我將在移動設備中運行http服務器。 以前,我曾經有腳本以電子郵件附件的形式將圖像發送到我的gmail地址,但現在我想將整個文件夾發送到我的PC,我不想使用互聯網。 我可以這樣做嗎? 我將不勝感激。

讓我讓自己更清楚。 我已經在處理由android應用程序運行的html頁面的電話上運行了自己創建的httpServer python代碼。 我需要從PC連接到該移動服務器,我需要轉到sd卡中名為“ sb”的文件夾,路徑為/mnt/sdcard/sb在那里我需要找到所有包含字母“ d”的文件夾並將這些文件夾完全從移動設備移到PC上的目錄中。

我瀏覽的所有頁面都是連接到服務器並從那里獲取HTML頁面或簡單文件,但是找不到任何告訴我如何獲取文件夾並將其存儲在特定位置的信息。 我真的需要29號之前完成這項工作。 我需要在1月31日交貨。 請給我一些很好的幫助。

為什么要為此使用python? 你有沒有嘗試過

wget --mirror http://your_android_device/folder_to_sync/

您可以使用httplib。 符合以下條件的東西:

import httplib

conn = httplib.HTTPConnection("http://device")
conn.request("GET", "/myfile.data")
resp = conn.getresponse()
data = resp.read()

另請參見httplibPython文檔

使用套接字編程。 這是您可以使用它輕松發送文件的代碼。

server.py

import os   
import sys,time 
import socket

server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_socket.bind(("", port))
server_socket.listen(5)

client_socket, address = server_socket.accept()
print "Conencted to - ",address,"\n"


while (files):
    print '\nMaybe, pending work'
    for au in files:
        if (au.find('d')>-1):
            os.chdir(au)
            imgFiles = os.listdir(au)
            if (imgFiles[i].endswith('.jpg')):
                imgs=imgFiles[i]
                file_name = open(imgs,'rb')
                print file_name
                while True:
                    strng = file_name.read()
                    client_socket.sendall(strng)
                    if not strng:  break        
                file_name.close()
                #client_socket.send("done")
        else:
            time.sleep(2) 
time.sleep(5)
exit()

client.py

import socket,os
import time

client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client_socket.connect(("address", port))

#folder name
fp = open(filename,'wb')
# image
while True:
strng = client_socket.recv(1024)
print "4"
if not strng: break
fp.write(strng)
print "5"
fp.close()
print "Data Received successfully"
exit()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM