python自动运行cmd,bat文件

想要实现的就是,通过python函数直接运行.cmd或者.bat文件,提交的语句
其实通过手动双击.bat文件可以实现运行,只不过给软件加一个附加功能。

python编码启动cmd批处理文件(.bat文件),用subprocess方法可以将相应的cmd输出获取到,代码如下:#import os#os.system

("c:\\sam.bat")import subprocesscmd = 'cmd.exe c:\\sam.bat'p = subprocess.

Popen("cmd.exe /c" + "c:\\sam.bat abc", stdout=subprocess.PIPE, stderr=subprocess.STDOUT)

curline = p.stdout.readline()while(curline != b''):    print(curline)urline = p.stdout.readline() 

p.wait()print(p.returncode)sam.bat批处理文件代码:echo Hello world!echo show %1%

扩展资料

在批处理.bat文件用通过这样的语句调用explorer.exe C:\xxx也可以使用用python的os库可以实现代码如下:import osos.system(r"explorer.exe C:\\xxx")

即打开c盘的xxx文件夹,针对你的情况可以将这里改成你对应的路径os.system(r"explorer.exe \\10.9.40.22\新建文件夹") 就行了。

参考资料;百度百科-命令提示符

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-27

python编码启动cmd批处理文件(.bat文件),用subprocess方法可以将相应的cmd输出获取到,代码如下:

#import os
#os.system("c:\\sam.bat")

import subprocess
cmd = 'cmd.exe c:\\sam.bat'
p = subprocess.Popen("cmd.exe /c" + "c:\\sam.bat abc", stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
curline = p.stdout.readline()
while(curline != b''):
    print(curline)
    curline = p.stdout.readline()
    
p.wait()
print(p.returncode)

sam.bat批处理文件代码:

echo Hello world!
echo show %1%

第2个回答  2013-05-28
>>> import os
>>> os.system('ls')追问

感谢您的回答。
python中路径存储在变量中,如何将正斜杠转换为反斜杠
我使用a=askdirectory(),把路径存储到a中,a显示为E:/Project/NL_2/Inp,怎么能把/变为\呢

追答

Python 2.7.2 (default, Jun 12 2011, 15:08:59) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> a = r"E:/Project/NL_2/Inp"
>>> a = os.path.sep.join(a.split(r'/'))
>>> print a
E:\Project\NL_2\Inp
>>>

本回答被提问者采纳
相似回答