gpt4 book ai didi

用于执行外部命令的Python脚本

转载 作者:太空宇宙 更新时间:2023-11-03 17:27:54 24 4
gpt4 key购买 nike

我需要向当前正在执行的程序发出一些命令,并将当前(远程)正在执行的程序的输出获取到脚本中的某个字符串中。我当前遇到的问题是我不知道每个命令的输出,该输出也可能会有所不同,因为它可以从用户读取。

例如

  1. ./my_program
  2. print_output_1 [ with in my_program ]
  3. print_output_2 [ 与 my_program ]
  4. 退出[在my_program中]

如果我手动运行命令终端会得到这样的东西

bash$ ./my_programe
my_program: print_output_1
my_program:first_line_printed_with_unknown_length
my_program: print_output_2
my_program:second_line_printed_with_unknown_length
my_program: exit
bash$

所以我应该在Python字符串中得到“first_line_printed_with_unknown_length”和“second_line_printed_with_unknown_length”

execute(my_program)
str1 = execute( print_output_1 )
str2 = execute( print_output_2 )
val = execute( exit )

最佳答案

您可以使用subprocess模块执行外部命令。最好先从简单得多的命令开始,以掌握全部要点。下面是一个虚拟示例:

import subprocess
from subprocess import PIPE

def main():
process = subprocess.Popen('echo %USERNAME%', stdout=PIPE, shell=True)
username = process.communicate()[0]
print username #prints the username of the account you're logged in as

if __name__ == '__main__':
main()

这将从 echo %USERNAME% 获取输出并存储它。很简单地为您提供总体思路。

来自上述文档:

Warning: Using shell=True can be a security hazard. See the warning under Frequently Used Arguments for details.

关于用于执行外部命令的Python脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32315488/

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