5

如果我想包含一个不在 python 文件中的单个批处理命令怎么办?

例如:

REN *.TXT *.BAT

我可以以某种方式将其放入 python 文件中吗?

4

4 回答 4

11

“老派”的答案是使用os.system. 我不熟悉 Windows,但类似的东西可以解决问题:

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

或者可能)

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

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

如果REN是 Windows shell内部命令:

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

如果是外部命令:

import subprocess
subprocess.call('ren *.txt *.bat')
于 2013-06-15T09:16:15.883 回答
1

尝试这个:

cmd /c ren *.txt *.bat

或者

cmd /c "ren *.txt *.bat"
于 2013-06-15T07:17:07.320 回答
1

我创建了一个test.py包含这个的,它工作....

from subprocess import Popen    # now we can reference Popen
process = Popen(['cmd.exe','/c ren *.txt *.tx2'])
于 2013-06-15T16:28:57.757 回答
1

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

mime = subprocess.Popen("/usr/bin/file -i " + sys.argv[1], shell=True, stdout=subprocess.PIPE).communicate()[0]
于 2013-06-15T13:04:34.003 回答