2017-12-29 37 views
0

Ich konvertiere ein Python-Skript in eine .exe-Datei mit pyinstaller. Dann unter Verwendung send_file() in Flask, schicke ich es an den Kunden. Ich erhalte eine Fehlermeldung:send_file() Fehlermeldung mit ungültigem Modus 'rb'

IOError: [Errno 22] invalid mode ('rb') or filename: 'C:\Users\Dell\Desktop\mummy\dist\tc.exe'

Hier tc.exe ist die ausführbare ich senden möchten, und es ist in der dist-Ordner.

Dieser Code keine Fehler nicht geben und send_file mit bekommt senden:

import subprocess 
print ("hi") 
subprocess.call('ipconfig > zzz.txt', shell = True) 
x = raw_input() 

Aber mein Code (überprüft er, ob das System Python installiert ist) gibt Fehler:

import sys 
import subprocess 

subprocess.call('python -V 2> z1.txt' , shell = True) 
var1 = subprocess.call('find /i "not recognized" z1.txt', shell = True) 
subprocess.call('del z1.txt' , shell = True) 
if(var1 == 0): 
    print ("python not found") 
else: 
    print ("python found") 
x=raw_input() 

(Er ruft die Python-Version in der Eingabeaufforderung cmd und speichert es in einer Textdatei, dann überprüft es, ob "nicht gefunden" Schlüsselwort in der Textdatei vorhanden ist. Wenn es vorhanden ist, bedeutet das, dass Python nicht installiert ist)

Der raw_input() wird für den Bildschirm gegeben, um auf mich zu warten, sehe die Ausgabe.

Was ist der Unterschied zwischen den beiden Dateien, die ich bekomme Fehler beim Senden eines und nicht während des Sendens der anderen?

+0

Fügen Sie bitte relevanten Code zu Ihrer Frage hinzu. Sie können Ihre Frage jederzeit bearbeiten! – ventiseis

+0

Ich habe den Code hinzugefügt. – aarya

Antwort

0

\ t wird als Tabulatorzeichen behandelt. Ändern Sie den Namen der Datei von tc in etwas anderes, das nicht mit t beginnt und es wird gut funktionieren.

Verwandte Themen