教你怎么用Python运行命令(外部程序)并获得结果

2025-10-31 04:58:51

1、和system方法一样,同样是要用到os模块。

import os

导入os模块

我们要用到的这个方法是os.popen,os.popen的作用是打开一个管道(听到管道想必小伙伴想到什么了吧)

os.popen的用法是fd popen(程序路径,模式权限,缓冲区大小)

这里小编运行一个ping 127.0.0.1

rs = os.popen("ping 127.0.0.1")

教你怎么用Python运行命令(外部程序)并获得结果

2、此时我们可以print(rs)看看,os.popen方法的返回值到底是什么。

可以看到<os._wrap_close object at 0x02DBBA90>

这时一个操作系统的wrap控制台对象,内存地址为0x02DBBA90

其实这就是fd,windows中的句柄。

fd是unix中的一个概念,windows中叫句柄。

教你怎么用Python运行命令(外部程序)并获得结果

3、我们接下来要做的是,把fd中的字节读出来。

要用到的是一个read方法:

read方法的作用是从fd读取n个字节。

我们把fd对象提供了read方法,我们直接object.read即可读取所有字节

print(rs.read())

打印出read方法的返回值,即我们想要的数据,命令的结果。

如果是很初学者的初学者有幸看到小编这篇经验,这句话可以拆为2句:

a = rs.read()

print(a)

教你怎么用Python运行命令(外部程序)并获得结果

4、其实我们可以做一个超简易的命令行:

代码如下:

#-*- coding:utf-8 -*-

import os

while True:

    cmd = input("请输入您要运行的命令(路径分隔符前请增加\),退出请输入q:")

    if cmd == "q":

    #如果输入q退出循环退出程序

        break

    else:

    #否则使用os.popen从命令打开管道并通过管道获得命令输出结果

        rs = os.popen(cmd)

        cmdout = rs.read()

        if cmdout == "":

        #如果运行出错

            print("未找到程序或出错")

        else:

        #打印输出结果

            print(cmdout)

教你怎么用Python运行命令(外部程序)并获得结果

5、来看看运行结果?

怎么样?是不是很酷炫?

教你怎么用Python运行命令(外部程序)并获得结果

1、怎么关注?

在经验的右上角小编头像旁边点击关注,如图。

教你怎么用Python运行命令(外部程序)并获得结果

2、怎么点赞?

请在经验左侧点赞,如图。

教你怎么用Python运行命令(外部程序)并获得结果

3、怎么投票?

在经验的下方点击投票,如图。

教你怎么用Python运行命令(外部程序)并获得结果

4、如果觉得小编写的还不错,可以动动鼠标把它分享给您的朋友。

如何分享,鼠标移动到右下角第一个按钮上,在弹出的选项中进行分享,如图。

不尽感激。

教你怎么用Python运行命令(外部程序)并获得结果

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢