send_file()给出错误说无效模式'rb'

时间:2017-12-29 18:44:06

标签: python sockets flask

我正在使用pyinstaller将Python脚本转换为.exe文件。然后在Flask中使用send_file(),我将其发送给客户端。我收到一个错误:

  

IOError:[Errno 22]无效模式('rb')或文件名:   'C:\用户\戴尔\桌面\木乃伊\ DIST \ TC.EXE'

此处tc.exe是我要发送的可执行文件,它位于dist文件夹中。

此代码不会产生任何错误,并使用send_file发送:

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

但我的代码(它检查系统是否安装了python)会出错:

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()

(它在cmd提示符中调用python版本并将其存储在文本文件中。然后检查文本文件中是否存在“not found”关键字。如果存在,则表示未安装python)

为屏幕提供raw_input()以等待我查看输出。

两个文件在发送一个文件时遇到错误而在发送另一个文件时没有错误有什么区别?

1 个答案:

答案 0 :(得分:0)

\ t被视为制表符。将文件的名称从tc更改为不以t开头的其他内容,它将正常工作。