我正在尝试使用多处理并行化应用程序,该应用程序接收一个非常大的csv文件(64MB到500MB),一些工作逐行,然后输出一个小的,固定大小的文件.
目前我做了一个list(file_obj)
,不幸的是,它被完全加载到内存中(我认为)然后我将该列表分成n个部分,n是我想要运行的进程数.然后我pool.map()
在破碎的清单上做了一个.
与单线程,只是打开文件和迭代的方法相比,这似乎有一个非常非常糟糕的运行时.有人可以建议更好的解决方案?
另外,我需要以组的形式处理文件的行,这些行保留了某个列的值.这些行组本身可以拆分,但任何组都不应包含此列的多个值.
我将在我相当大的项目中使用nose作为我已经实现的unittest类的测试发现方法.我的印象是,鼻子主要用于测试发现和测试运行(同时也是如此).但我看到这个问题,好像鼻子是单位测试的替代品.有人可以澄清他们的意思吗?我错过了鼻子提供的一些核心功能吗?
作为旁注,py.test和鼻子有什么区别?
快速问题:是否有pythonic(无论是否在标准库中)将unix 32位纪元时间转换为Windows 64位纪元时间并再次返回?
我有一个GNU C++程序和一个python脚本,需要经常相互传递字符串(每分钟约70-80条消息).它们将在CentOS中相互本地运行(托管在相同的环境中).感觉虽然TCP/IP可以并且将完成工作,但我还有其他选择吗?
请记住,我不能将我的C++程序转换为SO并使用ctypes将其集成到我的python脚本中,我的C++程序必须以32位编译,而我的python脚本必须是64位.