EOFError: Ran out of input when using Python

EOFError: Ran out of input when using Python

最近,我尝试在 Windows 上使用 python Excel 函数和 win32com.client 库。我用 :

安装了它
pip install pywin32

我在我的脚本中使用它,使用简单的命令,如:

import os
import win32com.client as win32

ExcelApp = win32.gencache.EnsureDispatch("Excel.Application")
ExcelWrkBook = ExcelApp.ActiveWorkbook
ExcelWrkSht = ExcelWrkBook.ActiveSheet
ExcelWrkSht.Cells(5,3).Value = "something"

一切正常,直到我莫名其妙地收到这样的错误:

Traceback (most recent call last): File "myscript.py", line 2, in import win32com.client as win32 File "C:\Users\Mycomputer\AppData\Local\Programs\Python\Python37-32\lib\site-packages\wi n32com\client__init__.py", line 11, in from . import gencache File "C:\Users\Mycomputer\AppData\Local\Programs\Python\Python37-32\lib\site-packages\wi n32com\client\gencache.py", line 660, in init() File "C:\Users\Mycomputer\AppData\Local\Programs\Python\Python37-32\lib\site-packages\wi n32com\client\gencache.py", line 60, in init _LoadDicts() File "C:\Users\Mycomputer\AppData\Local\Programs\Python\Python37-32\lib\site-packages\wi n32com\client\gencache.py", line 113, in _LoadDicts version = p.load() EOFError: Ran out of input

每当我将 win32com.client 导入为 win32 时,都会弹出此消息,我尝试重新安装该库,但它仍然是一样的,知道吗?

这是一个问题(客户端/COM 服务器)通信,已通过清除缓存解决。

您可以删除 gen_py 文件夹“%userprofile%\AppData\Local\Temp\gen_py”

调试后错误来自 GenCache。我对这些库不是很了解,但是 并用 Dispatch 替换了 gencache,所以程序更改为:

import os
import win32com.client as win32

ExcelApp = win32.Dispatch("Excel.Application")
ExcelWrkBook = ExcelApp.ActiveWorkbook
ExcelWrkSht = ExcelWrkBook.ActiveSheet
ExcelWrkSht.Cells(5,3).Value = "something"