我正在尝试打开一个 excel 以使其显示可见。
我正在使用:
import subprocess
subprocess.check_call(['open', '-a', 'C:\\1\\2\\22.xlsx'])
抱歉,如果这很明显,但我一直收到此错误消息。据我所知,该文件位于此处。
FileNotFoundError: [WinError 2] The system cannot find the file specified
最佳答案
它没有工作只是因为 open
不是一个已知的命令名称(这是 Windows 注册表中的一个操作,仅此而已)。 subprocess
错误信息:
FileNotFoundError: [WinError 2] The system cannot find the file specified
只有一个意思:找不到可执行文件。它不会(也不能)检查参数以查看它们是否是有效的文件路径,所以不要朝那个方向看(是的,遗憾的是该消息是通用的并且没有确切说明哪个文件不能是发现,一个已知的 Windows 问题)
那行得通:
import os
os.startfile(r'C:\1\2\22.xlsx')
os.startfile尝试执行与您在 Windows 资源管理器中单击文件时相同的操作。
此解决方案的优点是不依赖于 win32com
。
旁白/评论中讨论:os.path.join('C:', '1', '2', '22.xlsx')
不起作用,因为它不在驱动器冒号后添加反斜杠(并且出于“好的”原因(在 Windows 方面是一个很好的理由):Python os.path.join on Windows)。
>>> os.path.join('C:', '1', '2', '22.xlsx')
'C:1\\2\\22.xlsx' # wrong
一种简洁的方式:
>>> os.path.join('C:', os.sep,'1' , '2', '22.xlsx')
'C:\\1\\2\\22.xlsx'
关于python - 打开 excel 文件 python 所以它是可见的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47673734/