现在,我正在开发一个语音控制助手应用程序。你知道吗
当我说“打开谷歌Chrome”时,它应该打开Chrome。我没有任何问题,语音识别,但我有一个问题,启动程序。你知道吗
例如,以下代码:
import os
os.system("chrome.exe")
适用于notepad.exe
或cmd.exe
程序,但是当我给出像chrome
这样的外部程序时,我需要给出整个路径。你知道吗
但是,在C语言中,我们只能使用chrome.exe
这样的直接名称来运行程序。你知道吗
所以,我的问题是,有没有什么方法可以启动外部程序而不需要像C#那样给出整个路径?你知道吗
给出启动程序的路径将是一个严重的问题。因为当我们把程序移到另一台计算机上时,我们将面临许多代码错误。你知道吗
我用C#解决了这个问题。就像我刚才提到的,我们可以直接调用chrome.exe“在C#。我在C中创建了一个控制台应用程序,它使用下面的代码打开GoogleChrome。然后我将控制台应用程序编译为.exe,然后将该exe文件与我的python程序链接。你知道吗
C#
Python
这个答案的第一部分是特定于操作系统的,而不是用代码或python来解决它
将Chrome存在的路径添加到
PATH
变量中(您可能需要重新启动),然后当您执行诸如chrome.exe
之类的命令时,它将尝试从该路径位置运行它更新: 如果您想实现对绝对路径的搜索,这里有一些关于路径列表How do I list all files of a directory?的好资源
不过,您可能需要一些有根据的猜测,并且需要做一些特定于操作系统的事情来找到它。你知道吗
Chrome二进制文件通常安装在同一组位置
PATH
系统变量在Python内部和外部一样管理这个函数。如果您想从Python修改它,它是os.environ
。你知道吗另一方面,更好的解决方案可能是使用
subprocess
,正如os.system
文档中所建议的那样。你知道吗不管怎样,
PATH
操作都是相同的。你知道吗。。。显然,您需要将包含
chrome.exe
的目录添加到PATH
。你知道吗不过,在您的场景中运行Python之前,您可能需要确保
PATH
是正确的。你知道吗相关问题 更多 >
编程相关推荐