Python:如何动态写入多个文件
发布时间:2020-12-20 11:31:55 所属栏目:Python 来源:网络整理
导读:我顺序记录来自多个流的数据包. 根据每个数据包中的数据,我需要将数据写入特定的日志文件. 我一次最多打开8个文件,以满足最多8个并发数据流的需求 日志文件在新数据流的开始和结束时打开和关闭. 我已经提出以下代码来处理写操作. #Identify where the data n
我顺序记录来自多个流的数据包.
根据每个数据包中的数据,我需要将数据写入特定的日志文件. 我一次最多打开8个文件,以满足最多8个并发数据流的需求 日志文件在新数据流的开始和结束时打开和关闭. 我已经提出以下代码来处理写操作. #Identify where the data needs to be stored filePointer = unpack_from('!B',payload,4) #Grab the data capData = unpack_from('!160s',10) #Store the data if filePointer[0] == 1: Logfile1.write(str(capData[0])) elif filePointer[0] == 2: Logfile2.write(str(capData[0])) elif filePointer[0] == 3: Logfile3.write(str(capData[0])) elif filePointer[0] == 4: Logfile4.write(str(capData[0])) elif filePointer[0] == 5: Logfile5.write(str(capData[0])) elif filePointer[0] == 6: Logfile6.write(str(capData[0])) elif filePointer[0] == 7: Logfile7.write(str(capData[0])) elif filePointer[0] == 8: Logfile8.write(str(capData[0])) 有没有更好的pythony方式来做到这一点? 变量可以以某种方式用于组成文件句柄或返回所需的文件句柄吗? 干杯 POB 解决方法
您可以构建文件列表字典并使用它来动态选择文件:
d = {1: Logfile1,2: Logfile2,...} curr_file = d[filePointer[0]] curr_file.write(str(capData[0])) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |