问题描述
我正在用wxpython做一些GUI应用程序。我还使用micropython交互式解释器及其原始REPL将文件添加到模块中。
我写了一个线程,放入pub.sendMessage
,只是为了将进度发送到进度条。
当我下载大小直到大约KB的文件时,一切都很好-文件已下载,我可以在模块中执行它们。但是,当我下载100KB的文件时,模块上没有下载文件。
我做错了什么?也许原始REPL无法处理更大的数据量?
编辑:我正在通过放置文件路径的fileName_path_ls
发送文件。
这里是线程:
class fileAdding(threading.Thread):
def __init__(self,fileName_path_ls):
threading.Thread.__init__(self)
self.fileName_path_ls = fileName_path_ls
self.start()
def run(self):
global ser
progress = 0
for fileName_path in self.fileName_path_ls:
print('THIS IS ADDING: ',fileName_path)
file_nr = len(self.fileName_path_ls)
ser.write(("f=open('" + repr(extractFileName(fileName_path).encode("utf-8",errors="ignore"))[2:-1] + "','wb')\n").encode("utf-8") + b"w=f.write\n")
with open(fileName_path,"rb") as f:
while True:
data = f.read(256)
# time.sleep(0.03)
if not data:
break
else:
ser.write(b"w(" + repr(data).encode("utf-8",errors="ignore") + b")\n")
# time.sleep(0.1)
ser.write(b"f.close()\n")
ser.write(b"\x04")
progress += 1
percenatge = progress/file_nr * 100
pub.sendMessage('updateFileProgress',arg1=percenatge)
if progress == file_nr:
# exit raw REPL
ser.write(b"\r\x02")
# close serial port
ser.close()
return
我将不胜感激。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)