python的popen函数

最近了解了一下python的popen函数的使用,主要是用来执行linux命令

函数使用

使用之前需要导入import os模块

  • 使用方式: os.popen(cmd)
  • 返回值: 返回一个文件句柄
import os
cmd="/sbin/partx /dev/sdb"
result_list=os.popen(cmd)
print result_list

执行结果如下,返回了一个文件地址:
<open file '/sbin/partx /dev/sdb', mode 'r' at 0x7f4b0f0fe810>
获取执行内容

如果想要获取popen执行命令的文件内容,那么可以使用如下几个函数

  • read() 读取整个文件,并将整个文件放入一个字符串变量中
  • readline() 每次读取一行,返回一个字符串对象并保留当前行的内存
  • readlines() 读取整个文件,并将整个文件按行解析成列表
#/bin/cat test.txt
#a
#bb
#c
import os 
cmd="/bin/cat test.txt "

#read()函数读取整个文件放入一个字符串,该返回值类型为str字符串
os.popen(cmd).read()

#执行结果如下:
'a\nbb\nc\n\n'

#readline()函数 读取一行,该返回值类型为str字符串
os.popen(cmd).readline()

#执行结果如下
'a\n'

#readlines()函数 读取整个文件并按行解析列表,该返回值类型为list
os.popen(cmd).readlines()

#执行结果如下
['a\n', 'bb\n', 'c\n', '\n']
注意

在想要使用popen搭配几个read函数获取命令执行结果时请务必注意换行符\n,进行字符串处理时需对该\n符进行处理

你可能感兴趣的:(#,编程语言:python)