gpt4 book ai didi

python - 如何使用 Python 子进程执行长 bash 序列

转载 作者:太空宇宙 更新时间:2023-11-03 13:51:57 25 4
gpt4 key购买 nike

我想这样做:

代码:

grub --batch << EOF
root (hd0,1)
find /boot/grub/menu.lst
setup (hd0)
quit
EOF

Python代码:

subprocess.call('grub --batch << EOF', shell=True)
subprocess.call('root (hd0,1)', shell=True)
subprocess.call('find /boot/grub/menu.lst', shell=True)
subprocess.call('setup (hd0)', shell=True)
subprocess.call('quit', shell=True)
subprocess.call('EOF', shell=True)

但这行不通..现在有人有解决这个问题的替代方法吗?

非常感谢!

最佳答案

解决方案是将脚本作为一个字符串发送:

script = '''
root (hd0,1)
find /boot/grub/menu.lst
setup (hd0)
quit
'''
print subprocess.Popen('grub', stderr=subprocess.STDOUT).communicate(script)[0]

shell=True 应该不是必需的。

关于python - 如何使用 Python 子进程执行长 bash 序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6266720/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com