首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >python中的慢速文件处理

python中的慢速文件处理
EN

Stack Overflow用户
提问于 2010-10-27 18:07:54
回答 1查看 1.2K关注 1票数 0

我正在尝试使用python.Aim的文件操作是连续读取一个大小(100字节)的文件,打包并通过套接字发送它们。这些文件是从目录中读取的。

问题:当我连续运行程序时,执行时间会增加。最初的执行时间不到一秒,后来达到8~10秒。我不能得到delay.If的确切原因任何人都可以在这个问题上提出一些看法,它将更有帮助。

这里我附上了我的代码..。

代码语言:javascript
复制
def handlefile(filename):
        for sat in range(len(Numfiles)):
                filename = 
                fsize = os.path.getsize(filename)
                if fsize != 100:
                        continue
                rfile = open(filename,'rb')
                text = rfile.read()
                msg = struct.unpack("<100b",text)
                for i in range(len(msg)):
                        packMessage  = packMessage + struct.pack("<b",msg[i])
                print "time:",datetime.datetime.now() - startTime

这些文件是二进制文件。

初始时间: 671毫秒

在连续执行10次以上时,时间增长缓慢。最后几个值,671ms。。。。135.954毫秒9.879毫秒88.686毫秒

我使用的是python-2.5.4版本。

如果有人遇到过类似的问题。请为我提供一些输入。

谢谢你,达斯

EN

回答 1

Stack Overflow用户

发布于 2010-10-27 18:10:34

你检查过你的进程打开的文件句柄的数量了吗?您可能希望使用with-statement来确保它们在不再需要时关闭:

代码语言:javascript
复制
with open(filename, 'rb') as rfile:
    text = rfile.read()
    # etc.

with-block离开时,文件将自动关闭。

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

https://stackoverflow.com/questions/4032012

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档