我需要启动excel并直接从python打开一个文件。目前我正在使用:
import os
os.system('start excel.exe file.xls')
Run Code Online (Sandbox Code Playgroud)
但是我没有得到想要的结果。我想从本地目标打开一个文件(文件与程序在同一文件夹中),但此代码在我的主(用户)目录中打开同名文件,而不是从我的程序目录中打开。
问题是程序所在的目录没有使用。当前工作目录是。所以你必须找出你的程序位于哪个目录,哪个python方便地为你准备好了:
sys.path[0]
Run Code Online (Sandbox Code Playgroud)
并将目录更改为它:
os.chdir(sys.path[0])
Run Code Online (Sandbox Code Playgroud)
或提供要打开的文件的完整路径
os.system('start excel.exe "%s\\file.xls"' % (sys.path[0], ))
Run Code Online (Sandbox Code Playgroud)
请注意,虽然 Windows 通常接受正斜杠作为目录分隔符,但命令 shell ( cmd.exe) 不接受,因此必须在此处使用反斜杠。start是特定于 Windows 的,因此在这里对其进行硬编码并不是什么大问题。更重要的是请注意,Windows 不允许"使用文件名,所以这里的引用实际上是可行的(需要引用,因为 Windows 上的路径很可能包含空格),但是这样引用是个坏主意一般的!
| 归档时间: |
|
| 查看次数: |
22469 次 |
| 最近记录: |