精华内容
下载资源
问答
  • python获取控制台输出内容方法

    千次阅读 2020-11-16 20:55:44
    之前一直想获取控制台输出内容 由于内容输出是由模块输出的 并非在cmd输入命令的 导致我不知道怎么获取 用了popen 百度了一大圈 都没有合适的解决方法 今天想了一下 popen是获取控制台命令的 我直接os.popen(start...

    之前一直想获取控制台输出的内容 由于内容输出是由模块输出的 并非在cmd输入命令的 导致我不知道怎么获取 用了popen 百度了一大圈 都没有合适的解决方法 今天想了一下 popen是获取控制台命令的 我直接os.popen(start 文件名)这样行不行呢? 结果不行 还弹出控制台 于是 我就想到了我是有环境变量的 我直接 os.popen(python 文件名.py)呢? 结果 没毛病!
    在这里插入图片描述
    获取了 但是输出的中文是乱码
    用encode也不行 后来干脆直接去掉 python 直接 os.popen(文件名.py)发现一样可以获取 函数输出的也可以!就像moviepy模块处理出来的信息,都可以获取!因为是英文所以没有乱码!而且是实时的获取!
    ok!正常获取! 而且 也会输出进度条!
    在这里插入图片描述
    然后我就在想 那么我不可能一直绑着python吧 于是 我把py文件打包exe
    (这里没有去用上图的moviepy模块 因为打包会报错 模块的问题 需要改模块文件 就随便写了个print)
    然后os.popen(1.py)改成os.popen(1.exe)成功获取!而且还不会出现乱码!中文一样可以打印!
    在这里插入图片描述
    最后我用了Pysimple gui 写了个界面 可是 很卡 但是的确可以获取到 还有一点问题就是 他需要等待几秒才会执行程序 就好比 你直接打开py文件或者python打包的程序一样 毕竟python是解释型语言嘛

    ps:如果想要把输出用到gui上可以看看我新的文章 注意 千万不要用sleep 更新的话可以用窗口刷新函数 对于Pysimple

    展开全文
  • 上次写了个控制台获取输出的文章,今天又想到了一个新的方法,感觉还是比上一个好用 就是利用把文本输出然后进行读取比对 最后更新到文本框 在窗口循环里面不能用time.sleep 不然就会卡死 import os import ...

    上次写了个控制台获取输出的文章,今天又想到了一个新的方法,感觉还是比上一个好用 就是利用把文本输出然后进行读取比对 最后更新到文本框
    在窗口循环里面不能用time.sleep 不然就会卡死 因为之前的获取利用for循环都会导致程序卡死 但是这样不会 还有可以利用比对文本更新日期进行比对

    import os
    import PySimpleGUI as sg
    
    #这里的>1.txt是为了把输出的内容输出到1.txt文件
    path = "ping www.baidu.com > 1.txt"
    
    #创建一个界面带有富文本控件
    layout = [[sg.Multiline(key= "qq",size=[50,20])]]
    
    os.popen(path)
    #创建一个窗口
    window = sg.Window("Test",layout,font="楷体")
    #先读取
    with open("1.txt", "r")as f:
        a = f.read()
    
    #窗口循环
    while 1:
        window.read(timeout=100)
        #这里进行读取然后进行比对
        with open("1.txt","r")as f:
            b = f.read()
        if a != b:
            #更新文本框
            window.Element("qq").Update(b)
            a = b
    

    在这里插入图片描述

    展开全文
  • 详细代码如下,求大神们指导一下,如何获取python控制台输出内容。我使用的是Pyehon3.43,开发环境vs2012 + win7 ``` using System; using System.Collections.Generic; using System.Diagnostics; using ...
  • Python脚本中调用另一个脚本要用到os模块 首先介绍一下os.system() os.system(os_str), 接受一个参数,该参数...res = os.system(os_str) # 在调用os.system()时,会直接将传进来的Python脚本输出内容打印在控制台...

    在Python脚本中调用另一个脚本要用到os模块
    首先介绍一下os.system()
    os.system(os_str), 接受一个参数,该参数即是你再命令行输入的字符串
    如:

    import os
    
    os_str = 'python hello_word.py'
    res = os.system(os_str) # 在调用os.system()时,会直接将传进来的Python脚本输出内容打印在控制台,而返回结果为0或1,0代表success,1表示failed
    print res
    

    所以如果我们想要接收所调用Python脚本的输出值并进一步处理,则需要另一个函数 os.popen(),popen返回文件对象

    import os
    
    os_str = 'python hello_word.py'
    f = os.popen(os_str, 'r')
    res = f.readlines()		# res接受返回结果
    f.close()
    
    展开全文
  • Python获取CMD命令行输出结果

    千次阅读 2020-03-26 16:36:06
    这种方式虽然可以在控制台看到回显的结果,但是却无法接收到这些内容,更无法对结果进行处理 官方文档对返回结果说明如下 在Windows上,返回值是运行命令后系统外壳程序返回的值。…通常是cmd.exe,它返回...

    学Python 用RPA,
    艺赛旗RPA 2020.1全新首发免费下载 点击下载
    www.i-search.com.cn/index.html?from=line1

    一,os.system()
    这种方式虽然可以在控制台看到回显的结果,但是却无法接收到这些内容,更无法对结果进行处理

    官方文档对返回结果说明如下

    在Windows上,返回值是运行命令后系统外壳程序返回的值。…通常是cmd.exe,它返回命令运行的退出状态;

    即os.system()返回值是命令执行后退出的状态,正常为0,异常为1

    正常情况

    In[5]: os.system(“dir”)
    Volume in drive F is 数据
    Volume Serial Number is 0006-F904

    Directory of F:\Practice\PycharmProjects\PythonBasic

    2019/04/29 10:17

    .
    2019/04/29 10:17
    2019/04/29 11:45 .idea
    2019/03/31 21:36 venv
    2019/03/31 21:35 _01_HelloWorld
    2019/03/31 21:36 _02_数据类型
    …(略)
    0 File(s) 0 bytes
    15 Dir(s) 41,743,155,200 bytes free
    Out[5]: 0
    注意末尾的Out [5]:0,这才是真正的返回值

    异常情况

    In[6]: os.system(“directory”)
    ‘directory’ is not recognized as an internal or external command,
    operable program or batch file.
    Out[6]: 1
    Out [6]:1,表示执行出现异常

    二,os.popen()
    具体用法如下:

    result = os.popen(‘ipconfig’)

    返回的结果是一个<class ‘os._wrap_close’>对象,需要读取后才能处理

    context = result.read()
    for line in context.splitlines():
    print(line)
    result.close()
    os.popen()的返回值是一个类_wrap_close,需要重定向read()之后才能得到一个str

    官方文档对返回值说明:

    打开到命令cmd或来自命令cmd的管道。返回值是连接到管道的打开文件对象,可以根据模式是“ r”(默认)还是“ w” 来进行读取或写入。

    从命令cmd:一个管道,返回值是连接管道的文件对象,通过该对象可以进行读或写。

    三,commands.getstatusoutput()
    特别说明:commands模块已经被废弃,并且3.x中已经被删除,这里不做过多说明用法如下:

    output = commands.getstatusoutput(‘ipconfig’)
    print output
    四,subprocess.Popen()
    从的python2.4版本开始,可以用子这个模块来产生子进程,并连接到子进程的标准输入/输出/错误中去,还可以得到子进程的返回值。子意在替代其他几个老的模块或函数,例如:os.system,os.spawn *,os.popen *,popen2。,命令。subprocess模块​​可用于执行复杂的系统命令,包括os.popen()不适用的交互模式的场景,例如python

    相互场景

    import subprocess

    obj = subprocess.Popen([“python”], stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE, universal_newlines=True)
    obj.stdin.write(“print(‘hello world’)”)
    obj.stdin.write("\n")
    obj.stdin.write(“print(‘hello python’)”)
    obj.stdin.close()

    cmd_out = obj.stdout.read()
    obj.stdout.close()
    cmd_error = obj.stderr.read()
    obj.stderr.close()

    print(cmd_out)
    print(cmd_error) # 程序没有异常,只输出空行
    执行结果:

    hello world
    hello python
    非共有场景

    p = subprocess.Popen(‘ipconfig’, shell=True, stdout=subprocess.PIPE)
    out, err = p.communicate()
    for line in out.splitlines():
    print(line.decode(“gbk”, “ignore”))
    注:如果子进程输出到数据到stdout或stderr的管道,并达到了系统pipe的缓存大小的话,子进程会等待父进程转换管道,而父进程此时正wait着着话,将会产生传说中的死锁。建议使用communication()来避免这种情况的发生。

    Popen.communicate(input = None)和子进程交互:发送数据到stdin,并从stdout和stderr读数据,直到收到EOF。等待子进程结束。可选的输入如有有话,要为字符串类型。此函数返回一个元组:(stdoutdata,stderrdata),元素类型为<class’bytes’>,需要进行转码,上面的代码——line.decode(“ gbk”,“ ignore”)

    实践案例下面的演示根据系统命令config,获取本机MAC地址和IP地址的代码以网上的代码为基础修改

    def get_mac_and_ip():
    “”"
    # 获取本机MAC地址和IP地址
    :return: (MAC地址,IP地址)
    “”"

    # 使用with,不需要显式的写pipe.close()
    with os.popen('ipconfig -all') as pipe:
        str_config = pipe.read()
        # print("完整配置信息:", str_config)
        # 利用正则表达式和re模块检索结果
        mac_re_compile = re.compile(r"物理地址[\. ]+: ([\w-]+)")
        ip_re_compile = re.compile(r"IPv4 地址[\. ]+: ([\.\d]+)")
    
        mac = mac_re_compile.findall(str_config)[0]  # 找到MAC
        ip = ip_re_compile.findall(str_config)[0]  # 找到IP
    
        # print("MAC=%s, IP=%s" % (mac, ip))
    
    return mac, ip
    

    result = get_mac_and_ip()
    print(“MAC: %s\n IP: %s” % result)
    执行结果

    MAC: 26-0A-64-A7-68-84
    IP: 192.168.1.103

    MAC: 26-0A-64-A7-68-84
    IP: 192.168.1.103

    展开全文
  • 在接口测试中,直接使用r.json()获取到的结果,难免会在结果中带有中文,但是在控制台的中文输出默认是Unicode编码,不能通过统一在设置中进行设置utf-8,因此为了在控制台更显而易见的显示出中文的提示,就有了如下...
  • Python输入流输出流重定向

    千次阅读 2019-04-28 17:00:39
    print 将需要的内容打印到控制台,然后追加一个换行符 sys.stdin与input sys.stdin.readline( )会将标准输入全部获取,包括末尾的’\n’,因此用len计算长度时是把换行符’\n’算进去了的,但是input( )获取输入时...
  • python输入输出 注释

    2018-07-17 08:50:04
    一、输入输出 程序执行顺序: 从上到下 从左到右依次执行 显示程序运行结果的地方一般叫做...作用:获取用户在控制台输入的内容 input()获取的数据全部都是字符串 要求:输出任意的2数相加之和 二、注释 注...
  • 我使用cv2.putText()在图片上添加文字,将添加到图片上的文字获取并在控制台输出,但是控制台返回的内容跟我在图片上添加的文字不同。 ``` str1 = ' ' predint=prediction.eval(feed_dict={x_: [result],keep_...
  • Python中的输入与输出

    2021-02-15 20:56:35
    Python语言中,我们可以用input()函数进行输入,print()函数进行输出,这两个都是控制台输入输出函数。 数据的输入 Python中提供input()函数用于输入数据,无论用户输入什么内容,改函数都返回字符串类型。其格式...
  • 前言 本文的文字及图片来源于网络,仅供学习、交流...input()函数从控制台获得用户的一行输入,无论用户输入什么内容,input()函数都已字符串类型返回结果。使用方式如下: <变量> = input(<提示性文字>)
  • 过滤带有图片的段子内容(Pycharm控制台无法输出图片) 使用Python面向对象对功能进行封装,并在控制台实现,敲击一次回车键显示一个段子作者和内容的功能。 功能实现 确定页面的HTML结构:确定需要抓取的页面为...
  • python执行cmd命令

    2020-05-16 21:31:13
    os.system()无法获取控制台输出内容,只是简单的执行cmd指令,返回命令退出状态,其中结果为0表示执行成功 os.popen(cmd).read() os.popen()可以获取控制台输出内容,返回的是一个file对象 subprocess.Popen...
  • python运行cmd命令

    2020-01-13 23:57:26
    方法1:os.system用来执行cmd指令,在cmd输出的内容会直接在控制台输出,返回结果为0表示执行成功 注意:os.system是简单粗暴的执行cmd指令,如果想获取在cmd输出的内容,是没办法获到的 import os #python 运行...
  • 通常任何程序都会通过输人输出的功能与用户进行交互和沟通,所谓输人就是指程序通过用户输人的信息获取数据,而输出则是指程序向用户显示或打印数据。在Pyhon语言中,我们可以用input()函数进行输人,prin()函数进行...
  • shell中调用python脚本

    万次阅读 2016-08-30 13:43:43
    获取py脚本中print内容,同样通过output=python *.py或output=$(python *.py)获取,通过这种方式py中的print不会在控制台输出# test.py print 'test' exit('error message')# 运行脚本 x=`python test.py` echo $? ...
  • Python&Redis hash操作

    千次阅读 2018-10-07 14:45:37
    1、Redis 控制台操作 hash操作:解释,hash类似于一个集合操作,例如要设置一个人的name age sex 可以使用hash设置 实例: hset info name aea age 22 sex man 设置一个key为info 内容类似集合 name:aea age:22 sex:...
  • 这个博客比较详细的说了对python自带报告的改进。...script内容展示的其实就是我们case执行时 控制台输出内容 所以如果你想获取自己在case中print出来的数据就这么做 所以有要获取内容,print打印出来,然...
  • 2.os.system用来执行cmd指令,在cmd输出的内容会直接在控制台输出,返回结果为0表示执行成功 注意:os.system是简单粗暴的执行cmd指令,如果想获取在cmd输出的内容,是没办法获到的 os的syste.
  • awesome-python 是 vinta 发起维护的 Python 资源列表,内容包括:Web 框架、网络爬虫、网络内容提取、模板引擎、数据库、数据可视化、图片处理、文本处理、自然语言处理、机器学习、日志、代码分析等。由「开源前哨...
  • Python Cookbook

    2013-07-31 22:33:26
    9.12 获取UNIX Shell命令的输出流和错误流 364 9.13 在UNIX中fork一个守护进程 367 第10章 系统管理 370 引言 370 10.1 生成随机密码 371 10.2 生成易记的伪随机密码 372 10.3 以POP服务器的方式验证用户 375...
  • 本文用作记录,在使用python过程中遇到的一些奇技淫巧,有些代码是本人所写,有些...获取控制台大小 rows, columns = os.popen('stty size', 'r').read().split() 输入输出控制 解决输入提示中文乱码问题 raw_inp
  • 本文实例为大家分享了python实现图片识别汽车的具体代码,供大家参考,具体内容如下 准备工作 1、登陆开发者控制台 2、安装 pip install baidu-aip 模块 原理读取图片的二进制信息,调用百度云第三方接口,将图片二...
  • 利用Python提取视频中的字幕(文字识别)

    千次阅读 多人点赞 2020-04-25 14:16:40
    字幕操作主方法控制台输出运行 项目背景 通过获取百度API实现视频文字识别。 需求阐述 将.MP4格式视频裁剪成一帧一帧的图片再将图片中的字幕摘取出来,保存成一个文档。 进入正题喽!!! 思路 1.将视频...
  • 1、pycharm,避免控制台输出的json内容中文出现乱码。 #注:乱码为Unicode格式:\u6d4b\u8bd5。加入如下代码后正确返回中文:测试 get_result = r.json() print json.dumps(get_result, encoding="utf-8", ...
  • 在我们玩命令行时,我们总会使用到从窗口获取字符,或者从窗口输出字符,其实这些都能被我们的python程序截取到,对其进行一定操作转换后又输出控制台,这节我们就深度理解一下sys.stdin sys.stdout 玩转命令行 ...
  • 目录   一、函数input()的工作原理 二、while循环 三、使用while循环来处理列表和...运行上述程序,执行input()后,控制台会提示你输入,当你输入后,内容会保存在message变量中,然后再把该内容打印输出。 ...

空空如也

空空如也

1 2 3
收藏数 54
精华内容 21
关键字:

python获取控制台输出内容

python 订阅