我需要启动excel并直接从python打开一个文件。目前我正在使用:
import os
os.system('start excel.exe file.xls')
但是我没有得到理想的结果。我想从本地目的地打开一个文件(文件与程序在同一个文件夹中),但是这个代码打开的是我家(用户)目录中的同名文件,而不是我的程序目录。
答案 0 :(得分:4)
问题是没有使用程序所在的目录。当前的工作目录是。因此,您必须找出您的程序所在的目录,以及为您准备的python:
sys.path[0]
并将目录更改为:
os.chdir(sys.path[0])
或为您要打开的文件提供完整路径
os.system('start excel.exe "%s\\file.xls"' % (sys.path[0], ))
请注意,虽然Windows通常接受正斜杠作为目录分隔符,但命令shell(cmd.exe
)却没有,因此必须在此处使用反斜杠。 start
是特定于Windows的,因此在此处对其进行硬编码并不是一个大问题。更重要的是请注意Windows不允许"
文件名,因此这里的引用实际上是可行的(需要引用,因为路径很可能在Windows上包含空间),但是一般来说这样引用是个坏主意!
答案 1 :(得分:1)
您还可以定义python应该在其中运行的目录。
import os
os.chdir('C:\\my_folder\\subfolder')
os.system('start excel.exe my_workbook.xlsx')