当运行python脚本在本地计算机上保存.xlsx文档并试图在使用python模块使用system()函数打开同一个文件时,我在屏幕上捕捉到以下特定错误:图像
(翻译成英文:找不到路径)
用于保存文件的代码是openpyxl工作簿中的wb.save():
wb.save(saved_file := (f"{path}Skiftplan ({name} - {shift}).xlsx"))其中:
{path} = /skiftplaner/November/
{name} = "onsdag"
{shift} = "17:00 - 20:00"打开文件的代码是:
system(f"open -a '/Applications/Microsoft Excel.app' '{realpath(saved_file)}'")奇怪的是,如果我替换了name = "onsdag"中的任何字符,程序就可以工作,路径也可以找到。例:name = "0nsdag"可以工作,或者name = "onsdaj",但是我希望变量名是"onsdag“。
在显示的代码之前,我检查了路径是否存在,如果没有,则创建路径,这是可行的,但如果{name} = "onsdag“,则system()函数无法找到该文件。
我已经尝试将{name}变量更改为ex。"0nsdag“、"onsdaj”和其他已起作用的值。
这个文件确实是由wb.save()函数创建的,但是系统()函数找不到
发布于 2022-12-01 04:41:23
因此,按照@Gordon Davisson的步骤:
我试着将open -a '/Applications/Microsoft Excel.app' '/Users/andersballeby/Desktop/McDonalds Programmer/Main Project/McDonalds-Leader-Panel/skiftplaner/November/onsdag d. 30-11/Skiftplan (onsdag - MID - 12:00 - 17:00).xlsx'粘贴到我的终端中,它返回与这个线程顶部的图像相同的错误消息。
然后,我试着粘贴另一个命令:ls '/Users/andersballeby/Desktop/McDonalds Programmer/Main Project/McDonalds-Leader-Panel/skiftplaner/November/onsdag d. 30-11/Skiftplan (onsdag - MID - 12:00 - 17:00).xlsx',它只是返回相同的文件,根本没有什么有趣的属性。
然后,通过删除该文件并只查看ls November/onsdag d.30-11/文件夹,我看到了以下内容:
Skiftplan (onsdag - MID - 12:00 - 17:00).xlsx
Skiftplan (onsdag - MID - 12:00 - 17:Skiftplan (onsdag - MID - 12:00 - 17:~$00).xlsx这让我在查找器目录文件夹中查找,我只能看到第一个文件,而不是第二个文件。
在此之后,我尝试关闭excel的所有实例,不知怎么它现在才起作用,如果我再次尝试执行ls November/onsdag d.30-11/,它只返回im查找的单个文件:
Skiftplan (onsdag - MID - 12:00 - 17:00).xlsx现在,它在程序中完全发挥作用,现在它能够打开excel文件,而不会出现任何错误或复杂情况。
https://stackoverflow.com/questions/74636105
复制相似问题