如何通过python与parted解释器通信?

如何通过python与parted解释器通信?,python,subprocess,popen,Python,Subprocess,Popen,我想在parted中使用“print”命令,我该怎么做?您可以在不向孩子的stdin发送输入的情况下实现这一点,只需使用命令行并使用以下命令执行: 您无需将输入发送到孩子的stdin即可实现这一点,只需使用命令行并使用以下命令执行: 您无需将输入发送到孩子的stdin即可实现这一点,只需使用命令行并使用以下命令执行: 您无需将输入发送到孩子的stdin即可实现这一点,只需使用命令行并使用以下命令执行: 请注意,a.stdout.read()将阻塞,直到到达EOF,因此将阻塞,直到分离退出。如果这

我想在parted中使用“print”命令,我该怎么做?

您可以在不向孩子的stdin发送输入的情况下实现这一点,只需使用命令行并使用以下命令执行:


您无需将输入发送到孩子的stdin即可实现这一点,只需使用命令行并使用以下命令执行:


您无需将输入发送到孩子的stdin即可实现这一点,只需使用命令行并使用以下命令执行:


您无需将输入发送到孩子的stdin即可实现这一点,只需使用命令行并使用以下命令执行:

请注意,
a.stdout.read()
将阻塞,直到到达
EOF
,因此将阻塞,直到分离退出。如果这是所需的功能,那么调用
stdoutdata,stderdata=a.communicate(“print”)
将更简单、更安全。分开返回后,打印到stdout和stderr的所有内容将分别使用stdoutdata和stderrdata。如果您使用此路径,您也不需要
stdout=PIPE
stderr=PIPE
注意
a.stdout.read()
将阻塞,直到到达
EOF
,因此将阻塞,直到分开退出。如果这是所需的功能,那么调用
stdoutdata,stderdata=a.communicate(“print”)
将更简单、更安全。分开返回后,打印到stdout和stderr的所有内容将分别使用stdoutdata和stderrdata。如果您使用此路径,您也不需要
stdout=PIPE
stderr=PIPE
注意
a.stdout.read()
将阻塞,直到到达
EOF
,因此将阻塞,直到分开退出。如果这是所需的功能,那么调用
stdoutdata,stderdata=a.communicate(“print”)
将更简单、更安全。分开返回后,打印到stdout和stderr的所有内容将分别使用stdoutdata和stderrdata。如果您使用此路径,您也不需要
stdout=PIPE
stderr=PIPE
注意
a.stdout.read()
将阻塞,直到到达
EOF
,因此将阻塞,直到分开退出。如果这是所需的功能,那么调用
stdoutdata,stderdata=a.communicate(“print”)
将更简单、更安全。分开返回后,打印到stdout和stderr的所有内容将分别使用stdoutdata和stderrdata。如果使用此路线,也不需要
stdout=PIPE
stderr=PIPE
from subprocess import Popen,PIPE,STDOUT

a=Popen('parted -s',stdout = PIPE, stderr = STDOUT, shell = True)
a.communicate(input="print".encode())
string=a.stdout.read()
import shlex
import subprocess

DEVICE = '/dev/sda'
cmd = 'parted -s {} print'.format(DEVICE)

output = subprocess.check_output(shlex.split(cmd))

>>> print output
Model: ATA Hitachi HTS54756 (scsi)
Disk /dev/sda: 640GB
Sector size (logical/physical): 512B/4096B
Partition Table: msdos
Disk Flags: 

Number  Start   End    Size   Type      File system  Flags
 1      1049kB  210MB  209MB  primary   ntfs         boot
 2      210MB   322GB  322GB  primary   ntfs
 4      322GB   640GB  318GB  extended
 5      322GB   322GB  524MB  logical   ext4
 6      322GB   640GB  318GB  logical                lvm
 3      640GB   640GB  108MB  primary   fat32        lba