Python os.popen() 方法



Python os.popen() 方法提供了一种使用 Python 代码运行 shell 命令的方法。它的工作原理是打开管道到命令行或从命令行。此方法的返回值是连接到管道的打开文件对象。这有助于根据指定的模式进行读取和写入操作。

语法

以下是 Python os.popen() 方法的语法 -


 os.popen(command, mode, bufsize)

参数

Python os.popen() 方法接受以下参数 -

  • command − 指定需要执行的命令。
  • mode − 此参数指定打开文件对象的模式。它的默认值是 “r”,表示读数。
  • bufsize − 如果缓冲值设置为 0,则不会发生缓冲。如果缓冲值为 1,则在访问文件时将执行行缓冲。如果将缓冲值指定为大于 1 的整数,则将使用指示的缓冲区大小执行缓冲操作。如果为负数,则缓冲区大小为系统默认值(默认行为)。

返回值

Python os.popen() 方法返回连接到管道的打开文件对象。

以下示例显示了在执行 “mkdir” 命令时 popen() 方法的用法。


import os, sys

# using command mkdir
a = "mkdir nwdir"

b = os.popen(a,"r",1)
print (b)

当我们运行上述程序时,它将创建一个名为 “nwdir” 的目录,该目录具有读取模式。

<os._wrap_close object at 0x74f4dbd26e60>

在此示例中,我们将执行 “ls” 命令,该命令列出了当前工作目录中的可用文件。


import os

# Using popen() to execute the 'ls' command
fileStream = os.popen("ls")
res = fileStream.read()
print(res)

当我们运行上述程序时,它会产生以下结果——

aa.txt
atty.py
chown.py
cwd.py
datasync.py
dsync.py
exp.txt
fdopen.py
foo.txt
fopen.py