gpt4 book ai didi

python - 从 python 脚本自动将命令行输入到运行的 python shell 脚本中

转载 作者:太空宇宙 更新时间:2023-11-03 20:40:07 26 4
gpt4 key购买 nike

我有一个 python shell 脚本,该脚本通过导入 CMD 进行格式化,命令结构为 do_*(self, arg)。当我输入命令行时,该脚本运行得很好,但我正在尝试编写一个脚本来处理数据,确定要运行的命令,并在 shell 运行时将命令输入到 shell 中以执行所需的命令。这有可能吗?如果有,该怎么做?

示例:

 #!/usr/bin/env python
class exampleShell(cmd.Cmd):
def do_exit(self, inp):
print("Bye")
return True
MyPrompt().cmdloop()

因此,如果我运行脚本并在命令行中输入 exit,它将打印“再见”,但我希望能够运行一个单独的脚本,该脚本可以将退出命令发送到脚本,而无需自己输入。

最佳答案

您似乎正在尝试编写一个命令解释器允许Python脚本访问其命令?

考虑分解出公共(public)部分,并从解释器或其他脚本中导入它。

# commands.py

def foo(params): ...
def bar(params): ...
#!/usr/bin/env python
# interpreter; use it as a shell command / REPL.

import commands

class Shell(cmd.Cmd):
def do_foo(self, params):
return commands.foo(params)
# etc
# another-script.py; use it to run complex custom logic.

import commands

def someLogic(x):
if x > 1:
commands.foo(x)
else:
commands.bar(x + 100)

在您进一步解释您正在解决的真正问题是什么之前,仍然很难判断哪种解决方案有帮助。

关于python - 从 python 脚本自动将命令行输入到运行的 python shell 脚本中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56906793/

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