我搜索了很多,并找到了在python中打开程序的不同方法,
例如: -
import os
os.startfile(path) # I have to give a whole path that is not possible to give a full path for every program/software in my case.
我正在使用的第二个
import os
os.system(fileName+'.exe')
在第二个例子中,问题是: -
.exe
文件名是calc.exe
,这也适用于任何其他程序(我不知道每个程序的所有.exe文件名)。< / LI>
如果没有其他方法可以在python中打开程序,那么是否可以获取用户计算机中所有安装程序的列表。
那里有.exe文件名(例如: - 计算器是calc.exe
你明白了。)
如果你想看看code
注意:我想要通用解决方案。
答案 0 :(得分:2)
总是:
from subprocess import call
call(["calc.exe"])
这应该允许您使用字典或列表或设置来保存您的程序名称并随意调用它们。 David Cournapeau和chobok也在this answer中介绍了这一点。
答案 1 :(得分:1)
您可以尝试使用os.walk:
import os
exe_list=[]
for root, dirs, files in os.walk("."):
#print (dirs)
for j in dirs:
for i in files:
if i.endswith('.exe'):
#p=os.getcwd()+'/'+j+'/'+i
p=root+'/'+j+'/'+i
#print(p)
exe_list.append(p)
for i in exe_list :
print('index : {} file :{}'.format(exe_list.index(i),i.split('/')[-1]))
ip=int(input('Enter index of file :'))
print('executing {}...'.format(exe_list[ip]))
os.system(exe_list[ip])
os.getcwd()+'/'+i
将文件路径添加到从root开始的 exe 文件中。exe_list.index(i),i.split('/')[-1]
仅提取filename.exe
exe
文件的完整路径答案 2 :(得分:1)
首先通过键入以下命令安装winapps:
pip install winapps
之后使用库:
# This will give you list of installed applications along with some information
import winapps
for app in winapps.list_installed():
print(app)
如果您要搜索应用程序,可以执行以下操作:
application = 'chrome'
for app in winapps.search_installed(application):
print(app)