我正在运行我继承的Python脚本。我不是一个程序员,但我知道的足够多。问题是,这个脚本在我的旧机器上运行得很好,但仍然是64位的Office 365-Excel机器。
当我迁移到一台新机器时,我一直收到错误。我需要一些帮助如何修复它,使它在新机器上工作。下面是错误和失败的脚本部分。
PermissionError Traceback(最近调用最后一次)~\ AppData\Local\Temp/ipykernel_16060/www.example。 www.example.com com(). strftime(" % m.% d. %Y ")+". xlsx ")124 125 #################################################################################################################################################################################################################################### www.example.com ().strftime("%m.%d.%Y")+".xlsx") 124 125 ##########################################################################################################################
许可错误:[WinError 32]进程无法访问该文件,因为它正被另一个进程使用:'C:\MarketCentre Deals Report\Data Files\MarketCentreDealsReport_West_03.07.2022.xlsx '
- 出错的代码:**
#Resave final file as xlsb to reduce file size
excel = win32com.client.Dispatch("Excel.Application")
doc = excel.Workbooks.Open("C:\\MarketCentre Deals Report\\Data Files\\MarketCentreDealsReport_East_"+datetime.datetime.now().strftime("%m.%d.%Y")+".xlsx")
doc.SaveAs( "C:\\MarketCentre Deals Report\\Data Files\\MarketCentreDealsReport_East_"+datetime.datetime.now().strftime("%m.%d.%Y")+".xlsb", 50 )
2条答案
按热度按时间ax6ht2ek1#
您收到的错误是由于文件已锁定。由于您是从不同的机器迁移而来,可能会有许多因素影响新代码,从细微的运行时更改(非常罕见,但如果您也更改了主版本,则可能会发生)到新机器上的不同软件交互。
最大的罪犯,通常是反恶意软件软件,这可能会有点慢扫描文件,而扫描文件是专门锁定的目的,以防止访问可疑性质的文件)。
或者简单地说,以前在前一台机器上工作的工作流在这台机器上不再工作。为了进行调查,请按照How to find out what processes have folder or file locked?答案中的说明使用Process Explorer,您应该能够跟踪违规进程。
如果这不能解决问题,您可以使用ProcMon来捕获在请求失败的精确时刻机器上发生的任何事情。您可以查看The Ultimate Guide to Procmon以获取更多的文档和有关该工具的帮助。
acruukt92#
我也遇到了同样的问题。卸载Anaconda,重新启动并重新安装修复了它。