gpt4 book ai didi

python - 如何在 Linux Ubuntu 12.04 上从 Python 调用脚本文件或可执行文件

转载 作者:太空宇宙 更新时间:2023-11-04 06:06:14 38 4
gpt4 key购买 nike

如果我从 Python 解释器或 Python 脚本调用脚本文件,则会收到错误“没有这样的文件或目录”,并且 Linux 脚本不会执行。如果我调用纯 Linux 命令,例如 subprocess.call('ls'),它可以正常工作。

在“C”中,我会使用:system("");

Python 中的等价物是什么?

在 Linux 计算机上,我需要从我的 Python 脚本中调用进行构建的脚本。subprocess.call 对于 Linux shell 命令非常有效,但当我调用脚本时,我得到“没有这样的文件或目录”

这是我的 Python 脚本行,调用:

    rtn_code = subprocess.call(['~/WindRiver/workspace/XPedite5570_SMP_VIP/build_MM_VxWorks'])

`build_MM_VxWorks` is a Linux script that uses VxWorks development tools to build a VxWorks kernel.

`build_MM_VxWorks` works okay from the Linux command line.

最佳答案

您可能想尝试 pexpect 。它在高层模拟 shell 用户输入。它可能有点“hacky”,但是当您需要自动化工作流程时,它非常强大。

以下是我如何使用它来读取数据库中的表:

import pexpect, getpass

child = pexpect.spawn('mysql -u root -p')
child.expect('Enter password: ')
password = getpass.getpass("Enter Mysql password for user root \n")
child.sendline(password)
child.sendline("use database")

child.expect('Database changed')

child.sendline('SELECT * FROM table;')
child.interact()

如您所见,模仿用户输入非常容易。

关于python - 如何在 Linux Ubuntu 12.04 上从 Python 调用脚本文件或可执行文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12924354/

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