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

如何在python中运行.bat文件?,python,batch-file,Python,Batch File,调用python'D:\chan.bat' python语句集存储在记事本中,并另存为.bat扩展名。 如何在python中运行这些语句。语法是什么?“如果您不需要与脚本交互,这不管用吗 import os os.system("d:\\chan.bat") 我没有Windows box来测试它 以下是我在Mac OS上的尝试 Dinh-Phams-MacBook-Pro:tmp dinhpham$ cat > t.bat print "abc" Dinh-Phams-MacBook-

调用python'D:\chan.bat'

python语句集存储在记事本中,并另存为.bat扩展名。
如何在python中运行这些语句。语法是什么?“

如果您不需要与脚本交互,这不管用吗

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

我没有Windows box来测试它

以下是我在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)

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

然而,一个普通人不会给你很多信息。您可能需要对象的能力:

编辑: 您可能需要去掉单引号才能使其生效


“'D:\chan.bat'”->“D:\chan.bat”

命令可以传递给python,如下所示:

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

python--help
中,您可以看到,
-c cmd:program作为字符串传入(终止选项列表)
,在批处理文件中,您可以使用此选项。

这里已经讨论过这个主题。[您是说您有一个python脚本(由python语句组成)还是一个shell脚本(由命令行操作组成)?请澄清您的帖子。您的.bat文件是用什么语言编写的?通常不需要通过shell调用程序;请参阅使用
'\\'
转义斜杠。或者使用原始字符串,在字符串前面加上
r
字符,如
r'my string here'
from subprocess import Popen
Popen("D:\chan.bat")
[avasal@avasal]$ python -c "print 'a' + 'b'"
ab
[avasal@avasal]$