python 运行cmd系统命令

Python022

python 运行cmd系统命令,第1张

eg:os.system('ls')  

这个会直接给出结果,但是没有办法进行进一步的保存和处理

2.os.popen(cmd)

eg:str = os.popen("ls").read()

a = str.split("\n")  

会得到['1.ini',

'XXX.txt',

'XXX.txt',

'AndroidStudioProjects']

3.使用subprocess模块

可以创建新的进程,可以与新建进程的输入/输出/错误管道连通,并可以获得新建进程执行的返回状态。

import subprocess

subprocess.call (["cmd", "arg1", "arg2"],shell=True)

#会直接打印出结果。

2、subprocess.Popen(cmd,shell=True,stdout=subprocess.PIPE,stderr=subprocess.PIPE)

# shell设为true,程序将通过shell来执行,如果command不是一个可执行文件,shell=True是必须的

# stdin, stdout, stderr分别表示程序的标准输入、输出、错误句柄。他们可以是PIPE,文件描述符或文件对象,也可以设置为None,表示从父进程继承。

# subprocess.PIPE实际上为文本流提供一个缓存区。

shell=True意思是shell下执行command

3. 使用模块 commands模块

import commands

你的程序使用命令行参数比较好。

请看下例:

python test.py 1

python会读取命令行参数,你可以通过sys.argv列表访问命令行参数:

import sys

mod = sys.argv[1]

# 然后根据mod的不同,运行不同的代码

给你介绍一个python内置库,叫argparse。使用它,解析命令选项非常方便!

也可以使用标准输入,你的需求不建议这样做:

mod = raw_input('你要运行的程序:')

望采纳,谢谢支持!