首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python macOS os模块:找不到路径

Python macOS os模块:找不到路径
EN

Stack Overflow用户
提问于 2022-12-01 01:50:58
回答 1查看 34关注 0票数 0

当运行python脚本在本地计算机上保存.xlsx文档并试图在使用python模块使用system()函数打开同一个文件时,我在屏幕上捕捉到以下特定错误:图像

(翻译成英文:找不到路径)

用于保存文件的代码是openpyxl工作簿中的wb.save():

代码语言:javascript
复制
wb.save(saved_file := (f"{path}Skiftplan ({name} - {shift}).xlsx"))

其中:

代码语言:javascript
复制
{path} = /skiftplaner/November/
{name} = "onsdag"
{shift} = "17:00 - 20:00"

打开文件的代码是:

代码语言:javascript
复制
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()函数创建的,但是系统()函数找不到

EN

回答 1

Stack Overflow用户

发布于 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/文件夹,我看到了以下内容:

代码语言:javascript
复制
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查找的单个文件:

代码语言:javascript
复制
Skiftplan (onsdag - MID - 12:00 - 17:00).xlsx

现在,它在程序中完全发挥作用,现在它能够打开excel文件,而不会出现任何错误或复杂情况。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74636105

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档