2016-09-13 5 views
0

Der Titel ist möglicherweise nicht relevant für meine Frage, weil ich nicht wirklich ein drahtloses Aktenübergabeskript haben möchte, ich benötige einen Dateivorlagentyp.Wie man ein Dateiübertragungsprogramm in Python macht

Ich möchte etwas, mit dem ich mein Handy mit meinem PC verbinden kann (zB: Hotspot und Wifi) und dann möchte ich Textdateibrowser zeigen (ich habe den Code dafür), indem ich Listen aller Dateien und Ordner sende mit os.listdir(), wenn die ausgewählte Option eine Datei ist (os.path.isdir() == False), möchte ich die Datei übertragen und führen Sie es (wie: Bild, Video, etc).

Die Datei Browser-Code, den ich schrieb, läuft auf Windows und auch Android (nach ein paar Änderungen) mit qpython. Mein Code ist

import os 
def FileBrowser(cwd = os.getcwd()): 
    while True: 
    if cwd[-1:] != "\\": 
     cwd = cwd + "\\" 
    files = os.listdir(cwd) 
    count = 1 
    tmpp = "" 
    print("\n\n" + "_"*50 +"\n\n") 
    print(cwd + "\n") 
    for f in files: 
     if os.path.isdir(cwd + f) == True: 
     s1 = str(count) + ". " + f 
     tmps1 = 40 - (len(s1)+5) 
     t2 = int(tmps1/3) 
     s1 = s1 + " " * t2 + "-" * (tmps1 - t2) 
     print(s1 + "<dir>") 
     else: 
     print(str(count) + ". " + f + tmpp) 
     count = count + 1 
    s = raw_input("Enter the file/Directory: ") 
    if s == "...": 
     tmp1 = cwd.count("\\") 
     tmp2 = cwd.rfind("\\") 
     if tmp1 > 1: 
     cwd = cwd[0:tmp2] 
     tmp2 = cwd.rfind("\\") 
     cwd = cwd[0:tmp2+1] 
     continue 
     else: 
     continue 
    else: 
     s = int(s) - 1 
    if os.path.isdir(cwd + files[s]) == True: 
     cwd = cwd + files[s] + "\\" 
     continue 
    else: 
     f1 = files[s] 
     break 
    return f1 
def main(): 
    fb = FileBrowser() 
main() 
+2

Meine Frage ist, wie kann ich Daten zwischen meinem PC und Telefon drahtlos mit Python senden? – ShadowDoom

+1

Wahrscheinlich in Sockets schauen https://docs.python.org/3/library/socket.html – shuttle87

Antwort

3

Ein sehr naive Ansatz Python an die Wurzel des Verzeichnisses Sie bedient und Verwendung werden wollen gehen:

python -m SimpleHTTPServer 

Die Verbindung zu ihm herstellen auf Port 8000.

2

müssen Sie möglicherweise socket programming. Erstellen einer Verbindung (Verbindung) zwischen Ihrem PC und Ihrem Smartphone und dann versuchen, Dateien zu übertragen

+2

Ich bin sehr verwirrt, was sind Sockets? Bedeutet es, das Internet zu benutzen? Wenn nicht, was ist es? Ich kenne nur zwei Arten von Dateiübertragungen ohne Internet Bluetooth und WLAN. Ist Steckdose ähnlich wie WLAN? – ShadowDoom

+1

Socket ist eine E/A-Bibliothek, mit der Sie Ihre Daten über Netzwerke senden können. Es verwendet Netzwerkprotokolle wie TCP/UDP und usw., um Multi-Computer miteinander zu verbinden und sie in die Lage zu versetzen, ihre Daten füreinander zu übertragen. und über die Infrastruktur können Sie Wifi oder Wired-Base-Medien verwenden, um sie miteinander zu verbinden. Es spielt keine Rolle, welche Art von Netzwerk Sie haben. aber in diesem Fall wifi die beste Wahl –