os.popen 方法可以用于执行shell命令,并将结果返回到一个文件对象中。调用该文件对象的read()方法即可获得输出结果。一个例子如下,假如我们的目录中包含1.txt,2.txt,3.txt这三个文件,那么:

import os
fd = os.popen("ls")
output = fd.read()
fd.close()
print(output)
print(len(output))
print(output.split())

结果如下:

1.txt
2.txt
3.txt
['1.txt', '2.txt', '3.txt']

可以发现返回的结果字符串是带换行符的,因此一般会用split方法来去除换行符,方便提取感兴趣的内容。

os.popen(“xxx”).readlines() 执行并获取全部的执行结果,获取结果为list,每行内容为list的一个值。需要具体哪一行内容可直接list[0]提取 (推荐使用,其实通过ctrl可以看到popen方法源码底层就是subprocess.Po... exec命令可以用来永久地重新定义标准输入、输出或错误流。示例:bash深色版本1# 重新定义标准输出45# 重新定义标准输入89# 重新定义标准错误通过输入/输出重定向,你可以更加灵活地控制程序的数据流向,这对于脚本编写和系统管理都非常有用。掌握了这些基本概念后,你可以根据需要设计复杂的重定向方案,以满足特定的需求。 1. os.system(command)此函数会启动子进程,在子进程中执行command,并返回command命令执行完毕后的退出状态,如果command有执行内容,会在标准输出显示。这实际上是使用C标准库函数system()实现的。缺点:这个函数在执行command命令时需要重新打开一个终端,并且无法保存command命令的执行结果。实例:os.system('ls -l *')2. os.p... os模块的popen方法 当需要得到外部程序的输出结果时,本方法非常有用,返回一个类文件对象,调用该对象的read()或readlines()方法可以读取输出内容。 os.popen(cmd) 要得到命令输出内容,只需再调用下read()或readlines()等 如a=os.popen(cmd).read() 文件test.py import sys x = sys.stdin for line in x: print("receive",line) 文件main.py import os 在本文中,我们将学习如何借助从 Python 脚本执行 cmd 命令。我们还将学习如何借助 Python 中的 subprocess 模块以更简单的方式从脚本执行 cmd 命令