0

Androidフォンで画像を撮影し、SDカードのフォルダーに保存するプロジェクトに取り組んでいます。SD から PC の特定のフォルダーにフォルダーを定期的に移動する必要がある Python スクリプトに取り組んでいます。電話と PC はモバイル ホットスポット経由で接続され、モバイルで http サーバーを実行します。以前は、画像を電子メールの添付ファイルの形式で gmail アドレスに送信するスクリプトを使用していましたが、今はフォルダー全体を自分の PC に送信したいので、インターネットを使用したくありません。これはできますか?これについて何か助けていただければ幸いです。

私の自己をより明確にさせてください。Androidアプリケーションによって実行されるhtmlページを処理している電話で実行されている独自のhttpServer pythonコードがすでにあります。PC からそのモバイル サーバーに接続する必要があります。SD カードの「sb」という名前のフォルダに移動する必要があります。パスは/mnt/sdcard/sbそこにあります。アルファベット「d」を含むすべてのフォルダを検索し、それらのフォルダを完全に移動する必要があります。モバイルを PC のディレクトリに移動します。

さまざまなページを閲覧すると、サーバーに接続してそこから HTML ページまたは単純なファイルを取得するだけですが、フォルダーを取得して特定の場所に保存する方法を教えてくれるものは見つかりませんでした。この作業は 29 日までに終わらせる必要があります。1月31日に商品を配達する必要があります。どうか私に良い助けをください。

4

3 に答える 3

0

ソケットプログラミングを使用してください。これを使用して簡単にファイルを送信できるコードを次に示します。

サーバー.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()
于 2013-04-12T13:26:52.890 に答える
0

httplib を使用できます。次の行の何か:

import httplib

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

httplibの Python ドキュメントも参照してください。

于 2013-01-27T16:47:57.323 に答える
0

なぜこれにpythonを使うのですか?やってみました

wget --mirror http://your_android_device/folder_to_sync/
于 2013-01-27T16:37:27.657 に答える