python读取cmd输出(python获取cmd输出)

http://www.itjxue.com  2023-04-02 02:59  来源:未知  点击次数: 

如何用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视频教程栏目。

(责任编辑:IT教学网)

更多