无法以micropython原始REPL模式在模块中保存较大文件

问题描述

我正在用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 (将#修改为@)