2024-04-28 20:17:16 发布
网友
我使用以下代码接收sudo的流程列表:
sudoPass = 'mypass' command = "launchctl list | grep -v com.apple" x = os.system('echo %s|sudo -S %s' % (sudoPass, command))
但是,我收到的答案是int。我需要str。是否可以在不丢失数据的情况下将其转换为str
system返回(在大多数情况下,请参见https://docs.python.org/3/library/os.html#os.system)进程的退出值。这意味着大部分时间0表示一切正常
您需要的是子流程模块(https://docs.python.org/3/library/subprocess.html),它允许您像这样捕获输出:
import subprocess sudoPass = 'mypass\n' #Note the new line command = "launchctl list | grep -v com.apple" x = subprocess.Popen('echo %s|sudo -S %s' % (sudoPass, command), stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True) stdout, stderr = x.communicate() print(stdout)
system返回(在大多数情况下,请参见https://docs.python.org/3/library/os.html#os.system)进程的退出值。这意味着大部分时间0表示一切正常
您需要的是子流程模块(https://docs.python.org/3/library/subprocess.html),它允许您像这样捕获输出:
相关问题 更多 >
编程相关推荐