批处理bat转python的问题
时间:2011-09-27
来源:互联网
为了减少文件,我尝试把python调用的.bat文件直接改写成pyhon代码:
@Echo off
cd C:\Program Files\WinRAR
Unrar x C:\AutoDeployTest\001.rar C:\YFMAP_APP
Pause
我将以上的bat操作改成了下面这个python方法:
import os
cmd = 'Unrar x C:\AutoDeployTest\001.rar C:\YFMAP_APP'
os.chdir('C:/Program Files/WinRAR/')
os.system(cmd)
1.结果什么都没有解压出来,并且没有任何提示。。。请问为啥?
2.另外,cmd 命令的提示并不在python shell窗口显示,哪怕是调用.bat文件运行出错,python会自动关闭cmd窗口,造成任何提示都看不到,而且不能及时发现出错,有什么办法么?
@Echo off
cd C:\Program Files\WinRAR
Unrar x C:\AutoDeployTest\001.rar C:\YFMAP_APP
Pause
我将以上的bat操作改成了下面这个python方法:
import os
cmd = 'Unrar x C:\AutoDeployTest\001.rar C:\YFMAP_APP'
os.chdir('C:/Program Files/WinRAR/')
os.system(cmd)
1.结果什么都没有解压出来,并且没有任何提示。。。请问为啥?
2.另外,cmd 命令的提示并不在python shell窗口显示,哪怕是调用.bat文件运行出错,python会自动关闭cmd窗口,造成任何提示都看不到,而且不能及时发现出错,有什么办法么?
作者: JacksonLv 发布时间: 2011-09-27
1. r''
2. 不要用os.system。阅读文档。
3. 用pipe读取子进程的输出,然后自己打印到屏幕上。检查程序退出码。
2. 不要用os.system。阅读文档。
3. 用pipe读取子进程的输出,然后自己打印到屏幕上。检查程序退出码。
作者: iambic 发布时间: 2011-09-27
根据您的提示,我看了帮助文档,并改成了这样的过程:
import os
import subprocess
cmd = 'Unrar x C:\AutoDeployTest\001.rar C:\YFMAP_APP'
os.chdir('C:/Program Files/WinRAR/')
p = subprocess.Popen(cmd,shell=True)
sts = os.waitpid(p.pid,0)[1]
print(sts)
运行结果提示的错误:
sts = os.waitpid(p.pid,0)[1]
OSError: [Errno 10] No child processes
帮助文档中有,为什么会没有子进程呢??
import os
import subprocess
cmd = 'Unrar x C:\AutoDeployTest\001.rar C:\YFMAP_APP'
os.chdir('C:/Program Files/WinRAR/')
p = subprocess.Popen(cmd,shell=True)
sts = os.waitpid(p.pid,0)[1]
print(sts)
运行结果提示的错误:
sts = os.waitpid(p.pid,0)[1]
OSError: [Errno 10] No child processes
帮助文档中有,为什么会没有子进程呢??
作者: JacksonLv 发布时间: 2011-09-27
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28