python读取cmd输出(python获取cmd输出)
如何用Python在cmd屏幕上读入数据?
python3.6的输入是input这个函数,示例如下
txt = input("请输入:");
print ("你输入的内容是: ", txt)
os.system("pause")这个的做用应当是任意键继续,input要求输入则是输入内容后,输入回车就把输入的内容字符串记录到左侧的变量中。
如何在Python中执行DOS命令
关于python调用cmd命令,主要介绍两种方式:
一、Python的OS模块
OS模块调用CMD命令有两种方式:os.system(),os.popen()。?都是用当前进程来调用。
1、os.system()
a、简单粗暴的执行cmd指令
b、返回结果为0表示执行成功,无法获取命令输出的内容,本在cmd输出的内容会直接在控制台输出。
c、当命令运行结束后接着往下面执行程序(同步阻塞式)。用法如:os.system("ipconfig")。
2、os.popen()
a、能获取DOS命令输出的内容。
b、os.popen()返回的是一个file对象,那么可以跟打开文件一样操作,r是以读的方式打开。
c、当命令运行结束后接着往下面执行程序(同步阻塞式)。
注意:os.popen() 方法用于从一个命令打开一个读写管道,在Unix,Windows中有效。
用法如:
with os.popen(r"adb devices","r")as f:
????text = f.read()()
????print(text)# cmd输出结果
二、管道subprocess模块
a、在当前进程下产生子进程。
b、用wait()函数等待结果(异步非阻塞式)。
【方法1】
result = subprocess.check_output(r'adb devices') ## 命令执行的输出结果放到了result里
print(result)
【方法2】
process = subprocess.Popen(r'adb devices',shell=True,stdout=subprocess.PIPE,stderr=subprocess.STDOUT)
command_output = process.stdout.read().decode('gbk')
print(command_output)
Notices:?
有些命令行是异步执行的不会马上返回输出,所以有时候我们要先等这个命令行执行完毕才能从stdout读出来数据。这个时候要加上
process.wait()
我的GitHub
python 运行cmd系统命令
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如何获取cmd命令框里的内容
你的程序使用命令行参数比较好。
请看下例:
python?test.py?1
python会读取命令行参数,你可以通过sys.argv列表访问命令行参数:
import?sys
mod?=?sys.argv[1]
#?然后根据mod的不同,运行不同的代码
给你介绍一个python内置库,叫argparse。使用它,解析命令选项非常方便!
也可以使用标准输入,你的需求不建议这样做:
mod?=?raw_input('你要运行的程序:')
望采纳,谢谢支持!
python自动运行cmd,bat文件
python编码启动cmd批处理文件(.bat文件),用subprocess方法可以将相应的cmd输出获取到,代码如下:#importos#os.system
("c:\\sam.bat")importsubprocesscmd='cmd.exec:\\sam.bat'p=subprocess.
Popen("cmd.exe/c"+"c:\\sam.batabc",stdout=subprocess.PIPE,stderr=subprocess.STDOUT)
curline=p.stdout.readline()while(curline!=b''):??print(curline)urline=p.stdout.readline()
p.wait()print(p.returncode)sam.bat批处理文件代码:echoHelloworld!echoshow%1%
扩展资料
在批处理.bat文件用通过这样的语句调用explorer.exeC:\xxx也可以使用用python的os库可以实现代码如下:importosos.system(r"explorer.exeC:\\xxx")
即打开c盘的xxx文件夹,针对你的情况可以将这里改成你对应的路径os.system(r"explorer.exe\\10.9.40.22\新建文件夹")就行了。
参考资料;百度百科-命令提示符
python在cmd输出时可以显示多少行
Python在cmd输出时最多可以输出9999行,此数值可以在cmd“控制台窗口属性”中修改。
python在cmd输出时可以显示多少行受cmd可以显示的行数影响,我, 可以在cmd上方右击,选择“默认值”。
打开“控制台窗口属性”,进入布局选项卡,在屏幕缓冲区大小中修改“高度”栏参数值即可控制Python在cmd输出时显示的行数。
更多Python知识请关注Python视频教程栏目。