# 调用操作系统的命令
#
# res = input(r'''
# Microsoft Windows [版本 10.0.19042.1288]
# (c) Microsoft Corporation。保留所有权利。
# %s>
# '''%dir_name)
#
# # os.system 程序把要执行的命令给操作系统后,就结束了该命令的返回值是运行程序的状态码 0 1
# # 命令执行后出现了结果是被操作系统丢到了当前的终端,因为当前终端是pycharm 是utf-8编码,解码gbk,出现了乱码
# # 如果是运行cmd中,不会出现乱码
# # 解决执行命令后返回数据乱码的问题
#
# os.system(res)
#
# import subprocess
#
# obj = subprocess.Popen('dir', # 要执行的命令
# shell=True, # 调用系统的命令解释器
# stdout=subprocess.PIPE, # stdout 正确命令的输出 ,
# # subprocess.PIPE 管道的意思 相当于把dir这个命令的输出
# # 单独通过PIPE这个水管给到变量stdout中去。
# stderr=subprocess.PIPE # stdout 错误命令的输出 ,
# # subprocess.PIPE 管道的意思 相当于把dir这个命令的输出
# # 单独通过PIPE这个水管给到变量stdout中去。
# )
#
# res = obj.stdout.read().decode('gbk') # 得到一个b 类型的数据
# # 为什么用GBK的编码因为现在系统是Windows的 linux的话用utf-8
import time
f = subprocess.Popen(
'cmd.exe /C'+r'D:\chihujing\day2\wondows10_clear.bat',
shell=True,
stdout=subprocess.PIPE, # 程序执行正确后输出的信息管道给stdout,
stderr=subprocess.STDOUT) # 程序执行错误后输出的信息管道管道给 stout,相当于错误和正确的信息同时走同一根管道
while True:
res = f.stdout.readline()
if len(res) == 0:
time.sleep(1)
else:
print(res.decode('gbk'),end="")