在python中运行特定的批处理命令

时间:2013-06-15 06:36:53

标签: python batch-file module python-3.3

如果我想在python中包含一个尚未存在于文件中的单个批处理命令,该怎么办?

例如:

REN *.TXT *.BAT

我能以某种方式将它放在python文件中吗?

4 个答案:

答案 0 :(得分:11)

“旧学校”的答案是使用os.system。我不熟悉Windows,但类似的东西可以解决这个问题:

import os
os.system('ren *.txt *.bat')

或(也许)

import os
os.system('cmd /c ren *.txt *.bat')

但是现在,正如Ashwini Chaudhary所注意到的,“推荐”replacement for os.systemsubprocess.call

如果REN是Windows shell 内部命令:

import subprocess
subprocess.call('ren *.txt *.bat', shell=True)

如果是外部命令:

import subprocess
subprocess.call('ren *.txt *.bat')

答案 1 :(得分:1)

试试这个:

cmd /c ren *.txt *.bat

cmd /c "ren *.txt *.bat"

答案 2 :(得分:1)

使用子进程从Python执行Linux命令的示例:

mime = subprocess.Popen("/usr/bin/file -i " + sys.argv[1], shell=True, stdout=subprocess.PIPE).communicate()[0]

答案 3 :(得分:1)

我创建了一个包含此内容的test.py,它有效....

from subprocess import Popen    # now we can reference Popen
process = Popen(['cmd.exe','/c ren *.txt *.tx2'])