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
atty.py
chown.py
cwd.py
datasync.py
dsync.py
exp.txt
fdopen.py
foo.txt
fopen.py