我正在尝试使用python.Aim的文件操作是连续读取一个大小(100字节)的文件,打包并通过套接字发送它们。这些文件是从目录中读取的。
问题:当我连续运行程序时,执行时间会增加。最初的执行时间不到一秒,后来达到8~10秒。我不能得到delay.If的确切原因任何人都可以在这个问题上提出一些看法,它将更有帮助。
这里我附上了我的代码..。
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版本。
如果有人遇到过类似的问题。请为我提供一些输入。
谢谢你,达斯
发布于 2010-10-27 18:10:34
你检查过你的进程打开的文件句柄的数量了吗?您可能希望使用with-statement来确保它们在不再需要时关闭:
with open(filename, 'rb') as rfile:
text = rfile.read()
# etc.
当with
-block离开时,文件将自动关闭。
https://stackoverflow.com/questions/4032012
复制相似问题