Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >wx.TextCtrl.LoadFile()

wx.TextCtrl.LoadFile()
EN

Stack Overflow用户
提问于 2009-10-01 15:44:31
回答 2查看 1.8K关注 0票数 0

我正在尝试快速显示搜索结果数据。我将网络驱动器上文件的所有绝对文件路径保存在一个大约50MB的文本文件中。python脚本在一秒钟或更短的时间内遍历保存在本地驱动器上的该文件中的每一行,这是可以接受的。这就是收集结果所需的时间。

但是,结果是在wx.TextCtrl小部件中给出的。将它们逐行附加到wx TextCtrl将是荒谬的。我想出的最好的方法是将结果写到一个文本文件中,并调用wx.TextCtrl的本机LoadFile,它根据结果的数量,在0.1到5秒左右的时间内将文本行加载到窗格中。但是,对于文本入站的10+MB,必须有一种更快的方法。结果会立即计算出来,并在与GUI相同的过程中可用。所以,请告诉我,有没有什么方法可以通过管道/代理/黑客将数据直接发送到TextCtrl中?mmap能帮助这种转移吗?

EN

回答 2

Stack Overflow用户

发布于 2009-10-01 15:49:32

人们真的要在一个文本控件中读取(或需要)全部10MB的内容吗?可能不会。

建议您通过对部分数据进行分页来按需加载。

或者更好的是,提供一些用户搜索功能,将结果范围缩小到感兴趣的信息。

票数 0
EN

Stack Overflow用户

发布于 2009-10-02 21:32:18

你可以使用AppendText一次加载所有的数据,为什么你需要逐行加载,但仍然需要几秒钟的时间,因为10MB是巨大的。如果你使用wx.RichTextCtrl,在我的测试中它会更快一些,它在6秒内加载10MB,而不是TextCtrl的9秒。

我不明白为什么你需要一次设置所有的数据?那么谁来读10MB呢?

因此,根据目的,可以有更好的方法。

如果您需要以超级快速的方式显示所有数据,请编写一个自定义控件,该控件保留行的列表,并且只在视图中呈现可见的行。

这是一个测试应用程序,您可以在其中尝试各种功能

代码语言:javascript
运行
AI代码解释
复制
import wx
import wx.richtext
import string
import time

# create a big text
line = string.ascii_letters+"\n"
bigText = line*200000

app = wx.PySimpleApp()
myframe = wx.Frame(None)
#tc = wx.TextCtrl(myframe, style=wx.TE_MULTILINE)
tc = wx.richtext.RichTextCtrl(myframe)
def loadData():
    s = time.time()
    tc.SetMaxLength(len(bigText))
    tc.AppendText(bigText)
    print time.time()-s

# load big text after 5 secs
wx.CallLater(5000, loadData)

app.SetTopWindow(myframe)
myframe.Show()
app.MainLoop()

如果你不想自己在一个自定义控件中绘制所有内容,你可以只使用一个带有单独滚动条的textctrl,并在滚动时更新textcntrl的文本,这样一次你只能加载几行。

编辑:正如你在评论中所说的,数据可能是1-2 MB,使用AppendText的1MB数据只需要.5秒我认为这是可以的

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1507075

复制
相关文章
Python学习笔记:第2天while循
while循环是先判断给的条件是否为真,如果真则执行循环体中的while语句,否则跳出循环;执行循环体之后再次判断条件是否为真。
py3study
2020/01/19
4960
2、while+read按行读取文件
一、三种方法 1.exec读取文件 exec <file sum=0 while read line do cmd done 2. cat读取文件 cat file|while read line do cmd done 推荐用途: 通过awk等三剑客获取文件中的数据后,可以使用这种方法用管道抛给while按行读取 3. while循环最后加重定向 while read line do cmd done<file 推荐用途: 直接按行读取文件中的内容时,推荐用此方法 二、案例 读取web日志文件
jackxiao
2021/11/16
1.7K0
pyspark之从HDFS上读取文件、从本地读取文件
hdfs上的路径: path="hdfs:///主机名:端口号/地址" 本地上的路径: path"file:///本地地址" 读取文件: rdd=sc.textFile(path)
西西嘛呦
2020/08/26
5.2K0
OpenGl 导入读取多个3D模型 并且添加鼠标控制移动旋转
  因为接下来的项目需求是要读取多个3D模型,并且移动拼接,那么我就先把基本的小demo给写好当做前期测试。
徐飞机
2019/10/08
3.2K0
OpenGl 导入读取多个3D模型 并且添加鼠标控制移动旋转
python从txt文件读取数据
  (作为一个python初学者,记录一点学习期间的笔记,方便日后查阅,若有错误或者更加便捷的方法,望指出!)
py3study
2020/01/19
4K0
python从txt文件读取数据
OpenGl读取导入3D模型并且添加鼠标移动旋转显示
原文链接:https://www.cnblogs.com/DOMLX/p/11543828.html
徐飞机
2019/09/19
2.7K0
OpenGl读取导入3D模型并且添加鼠标移动旋转显示
Rust:从嵌套循环中退出
在C语言中,我们常用goto语句来在错误条件下跳转到函数的数据清理部分。这种用法的好处尤其体现在“错误发生在嵌套循环”的时候,我们不用每一层循环都加一个标志位,逐级退出。
灯珑LoGin
2022/11/16
1.5K0
sl从程序集中读取xaml文件
 StreamResourceInfo sri = Application.GetResourceStream(new Uri("HowTo;component/Page.xaml", UriKind.Relative)); StreamReader sr = new StreamReader(sri.Stream); txtReadxml.Text = sr.ReadToEnd(); {1};component/{2} 1为程序集的名字 2为想读取的页面 page.xaml: <UserCont
用户1172164
2018/01/16
1.1K0
sl从程序集中读取xaml文件
Python Numpy 从文件中读取数据
测试文件内容(test1.txt) hello,123,nihao 8,9,10 io,he,no 测试代码 import numpy # dtype:默认读取数据类型,delimiter:分隔符 world_alcohol = numpy.genfromtxt("test1.txt", dtype=str, delimiter=",") # 数据结构 print(type(world_alcohol)) # 数据内容 print(world_alcohol) # 帮助文档 print(help(nump
山海散人
2021/03/03
4.4K0
调用opengl程序代码
// Test_of_callexe.cpp : Defines the entry point for the console application. // #include<stdafx.h> #include <windows.h> #include <stdio.h> #include <conio.h> int main(int argc, char * argv[]) { STARTUPINFO si = {0}; si.cb = sizeof(si); P
流川疯
2019/01/18
1.1K0
OpenGl 实现鼠标分别移动多个物体
原文链接:https://www.cnblogs.com/DOMLX/p/11620088.html
徐飞机
2019/10/06
2.7K0
实验5 OpenGL模型视图变换
2、移动或者旋转它,当然了,如果它只是计算机里面的物体,我们还可以放大或缩小它(物体运动,让人看它的不同部分)。(模型变换)
步行者08
2018/10/09
1.7K0
json文件的读取_c语言文件读取
JSON 是 JS 对象的字符串表示法,它使用文本表示一个 JS 对象的信息,本质是一个字符串。有关于json的相关信息,可参考:json百度百科。
全栈程序员站长
2022/11/07
5.8K0
json文件的读取_c语言文件读取
HDFS——如何从HDFS上读取文件内容
用这个命令bin/Hadoop fs -cat 可以将HDFS上的文件内容读取到控制台。
星哥玩云
2022/06/30
2.8K0
Android OpenGL 渲染图像读取哪家强?
glReadPixels 是 OpenGL ES 的 API ,OpenGL ES 2.0 和 3.0 均支持。使用非常方便,下面一行代码即可搞定,但是效率很低。
字节流动
2020/11/03
4.5K0
matlab读取mnist数据集(c语言从文件中读取数据)
mnist database(手写字符识别) 的数据集下载地:http://yann.lecun.com/exdb/mnist/。
全栈程序员站长
2022/08/01
5.1K0
matlab读取mnist数据集(c语言从文件中读取数据)
C++ 从文件读取python numpy 数组
作为示例,我们先在python中创建一个二维的numpy数组, 并写入二进制文件:
用户6021899
2020/02/26
5.8K0
C++ 从文件读取python numpy 数组
OpenGL的glPushMatrix()和glPopMatrix()矩阵栈顶操作函数详解「建议收藏」
OpenGL中图形绘制后,往往需要一系列的变换来达到用户的目的,而这种变换实现的原理是又通过矩阵进行操作的。opengl中的变换一般包括视图变换、模型变换、投影变换等,在每次变换后,opengl将会呈现一种新的状态(这也就是我们为什么会成其为状态机)。
全栈程序员站长
2022/07/23
1.5K0
OpenGL的glPushMatrix()和glPopMatrix()矩阵栈顶操作函数详解「建议收藏」
点击加载更多

相似问题

读取fread() while循环中的文件

11

opengl+glut glutPostRedisplay在哪里?

30

Python在while循环中读取文件

33

Scala在while循环中从文件中写入和读取

11

glutPostRedisplay()并不总是被调用?

13
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档