python - 单独文件中的功能较慢

标签 python python-3.x

我有以下问题,有一个读取大文件(几 Mb​​)的函数,内容如下:

0x05 0x00 0x00 0x00 0xCF 0x00 0x00 0x00 ; ..........
0xCF 0x00 0x00 0x00 0x22 0x00 0x00 0x00 ; ......"...
0x51 0x84 0x07 0x00 0x02 0x00 0x01 0x00 ; ..Q.......

我的函数必须只读取十六进制值,并忽略“;”以下字符直到行尾。

我需要的是第一行的数据

“0x05 0x00 0x00 0x00 0xCF 0x00 0x00 0x00”

我尝试了两种方法,一种是用一个单独的文件来实现这个功能

def ReadFileAsList(fileName):

    fileName = "2Output.txt"
    fileContentStr = ""
    with open(fileName,'r') as f:
        for line in f:
            fileContentStr += line.split(';')[0]

    fileContentList = fileContentStr.split()
    return fileContentList

第二种方法,当这些行直接在我的主 .py 文件中时

fileName = "2Output.txt"
fileContentStr = ""
with open(fileName,'r') as f:
    for line in f:
        fileContentStr += line.split(';')[0]

fileContentList = fileContentStr.split()

第二种方法非常快,第一种方法(在单独的文件中使用单独的函数)非常慢,我错过了什么? 感谢您的任何提示

最佳答案

存储局部变量比存储全局变量更快。局部变量存储在固定大小的数组中,而全局变量存储在真正的字典中。

这是更深入的链接 answer

关于python - 单独文件中的功能较慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47182894/

相关文章:

python - 如何在结构主题建模 R 包中绘制文档主题分布?

python pandas 基于列值的子字符串

algorithm - 数独求解器算法中的 type() 有问题

Python:在派生类中隐藏基类的成员

python - .logs_from() 操作的 after 属性值应该如何格式化?

python-3.x - TensorFlow 2.0 'build' 函数

python - python是否在同一行中缓存项目并稍后再次使用

python - Celery 工作人员之间共享 XMPP 连接

Python/Pygame - 如何将不同的透明度传输到不可见的表面上

python - 使用python解析或读取cpp文件并通过忽略cpp文件注释添加数据