一、方法1:使用os
os方法暂时不知道如何接收cmd返回的值
故而不考虑cmd命令输入的返回值可使用os方法
如果要考虑返回值可看下面的方法2:subprocess
import os
# 打开cmd,并执行"C:\Program File(x86)\ISEP\bin\unins.exe"
os.system(' "C:\\Program File(x86)\\ISEP\\bin\\unins.exe\" ')
# "和\前加上\是为了转义
# 以上是在默认路径执行cmd命令
# 如果要去指定目录下执行cmd怎么做?
os.chdir('D:/') # 先进入到D盘目录下
cmd = 'fsutil file createnew test.docx 107374' # 该命令是在当前目录下新建一个107374字节(1G)的文件
os.system(cmd) # 即可在D盘目录下执行上面的cmd命令
二、方法2:使用subprocess
import subprocess
import logging
# 检查gs驱动是否安装
def check_drv_status():
cmd = "sc query gs"
result = subprocess.run(cmd, capture_output=True, text=True)
logging.info(result.stdout) # 将运行该命令后的输出值打印出来
if "指定的服务未安装" in str(result):
logging.info("驱动未安装")
return False
else:
logging.info("驱动已安装")
return True
# 以上是在默认路径执行cmd命令
# 如果要去指定目录下执行cmd怎么做?
path = 'D:/'
cmd = 'adb devices'
# 加了两个参数:路径及shell窗口常开,原有的两个参数是用来接收值的
result = subprocess.run(cmd, cwd=path, shell=True, capture_output=True, text=True)
logging.info(result)
if 'device' in str(result):
logging.info("adb连接成功")
return True
else:
logging.info("adb连接失败")
return False