如何在python中运行.bat文件?

时间:2012-03-19 07:45:05

标签: python batch-file

  
    
      

调用python'D:\ chan.bat'

    
  

“一组python语句存储在记事本中并保存为.bat扩展名。 如何在python中运行这些语句。可以是语法吗?“

4 个答案:

答案 0 :(得分:7)

我认为这通常是使用subprocess模块完成的:

from subprocess import call
call("D:\chan.bat")

然而,正常的call并没有给你很多信息。您可能需要Popen对象的强大功能:

from subprocess import Popen
Popen("D:\chan.bat")

修改 您可能需要取出单引号才能生效。

"'D:\chan.bat'" -> "D:\chan.bat"

答案 1 :(得分:3)

如果您不需要与脚本交互,这不会起作用吗?

import os
os.system("d:\\chan.bat")

答案 2 :(得分:2)

我没有Windows框来测试它。

以下是我在Mac OS上试用的内容

Dinh-Phams-MacBook-Pro:tmp dinhpham$ cat > t.bat
print "abc" 
Dinh-Phams-MacBook-Pro:tmp dinhpham$  
Dinh-Phams-MacBook-Pro:tmp dinhpham$ python t.bat
abc

Python解释器不关心.py扩展名

如果要将.bat文件作为Python模块加载,只需使用

即可
imp.load_source(path_to_file)

答案 3 :(得分:0)

可以按如下方式将命令传递给python:

[avasal@avasal]$ python -c "print 'a' + 'b'"
ab
[avasal@avasal]$

python --help中,您可以看到-c cmd : program passed in as string (terminates option list),在批处理文件中,您可以使用此选项。