运行bash命令并保留目录更改

2024-04-25 06:56:38 发布

您现在位置:Python中文网/ 问答频道 /正文

可以链接命令以允许目录更改:

from os import system

system(
    "cd ./assets/" "; "
    "bash loadData.sh" ";"
    # here should come tasks in the python-source
    "ls -al >> ./../directory" "; "
)

但是在python中完成一些计算之后,如何执行第二个命令呢?/如何存储bash上下文并在以后重用它?你知道吗

编辑:

输出可以显示到stdout或子进程的管道对象,但是目录更改和bash代码中变量的赋值应该以任何形式保持(我想执行真正的bash命令来更改目录,不想使用os.chdir


Tags: fromimport命令目录bashhereos链接
1条回答
网友
1楼 · 发布于 2024-04-25 06:56:38

我不确定您到底想做什么,但您甚至可以使用子流程执行非常复杂的变量赋值,如下所示:

import subprocess as sp

p = sp.Popen("cd assets; var=$(bash loadData.sh); var2=$(python -c \"print '${var}123'\"); echo ${var2}", stdout=sp.PIPE, shell=True)
output = p.stdout.read()
print output

相关问题 更多 >