错误“ValueError:无法在一台PC上格式化date”,在其他PC上运行

我有一个Python脚本,在我的开发电脑上工作得很好。 两者都是具有相同Python版本(2.7.9)的Windows 7。 但是在目标机器上,我得到了一个

ValueError:无法格式化date

该错误似乎来自pywin32模块。

该代码使用由pywin32调用的第三方库:

raw = win32com.client.Dispatch("MyLib.MyClass") 

然后再失败:

 acq_time = raw.GetCreationDate() 

现在我迷失了为什么这是在我的电脑上,而不是在目标机器上。 两者都有Windows 7的“企业安装”,例如,相同的区域和date时间设置。

有什么问题? 我该如何解决它?

编辑:

看评论。 原因可能是使用了C ++运行时。 我还在调查。 我现在怀疑在pywin32的安装时间里哪个运行时间是重要的。 为什么? 因为我的开发PC上的DependenyWalker说pywin依赖于我的Lotus Notes安装中的MSVCR90.DLL 。 这告诉我,它肯定不是“硬”的联系。

更新30.06.2015:

我错了…现在的问题也发生在我的电脑上。

一些更多的信息。 脚本读取数据文件并将读取的元数据插入到数据库中。 只有旧的文件似乎受到错误的影响,而不是新的(我现在认为这是假设是错误的)。 所以这个想法是到我的开发PC上的初始加载,然后希望这个问题将永远不会再出现新的文件。

如果PC是脚本将运行,它读取的文件在Windows共享驱动器(映射networking驱动器)上。 我没有访问该驱动器,所以我只是将文件复制到我的电脑。 现在要做初始加载,我请求访问上述networking驱动器和BOOM。 这也不能从我的开发工作。 机器从共享驱动器读取时。

这个问题并不总是发生在同一个文件中。 我现在认为它与一个特定的文件无关。 我也在64位的Python 64位电脑上试过。 那里花了更长的时间,直到发生错误。 事实上,一个文件被成功读取,在我的电脑上失败。 我现在认为这是一种记忆问题? 我相信它总是在date行失败,因为所有其他行只是返回null或一个空的string,这不会导致任何问题,完全可能这样的值可以为null。 但是对于这个date,这是一个问题,它不应该是空的,然后错误抛出。

更新编辑:

在我的电脑上,它总是在同一个文件上失败。 单独加载这个文件的效果非常好。 我现在认为这是一种计数器/数字溢出,读取n个文件后,会出现问题。 它与每次运行脚本时加载的文件数量有关,而不是文件本身。 单独加载时失败的文件。

事实certificate,这个问题实际上是微不足道的,有些是由于我缺乏有关python和误导性错误信息的经验。

COM对象raw = win32com.client.Dispatch("MyLib.MyClass")用于在循环中打开专有文件。 为了解决这个问题,在下一次迭代之前必须“清理”对象。 这是通过

del rawraw = None

这完全解决了这个问题。 它与date或date格式完全没有关系。 所以Peter Brittain可能是正确的,达到了这个文件的限制。