欢迎访问宙启技术站
智能推送

如何使用run()函数在Python中运行Shell脚本

发布时间:2023-12-17 13:03:52

在Python中,可以使用subprocess模块的run()函数来运行Shell脚本。run()函数使用一个参数来传递Shell命令,可以带有参数和选项。它会等待Shell命令执行完毕,并返回一个完成状态。

下面是一个使用run()函数运行Shell脚本的例子:

import subprocess

# 基本用法
subprocess.run(['ls', '-l'])

# 指定工作目录
subprocess.run(['ls', '-l'], cwd='/path/to/directory')

# 捕获输出
result = subprocess.run(['ls', '-l'], capture_output=True, text=True)
print(result.stdout)

# 子进程返回完成状态
result = subprocess.run(['ls', '-l'])
print(result.returncode)

在这个例子中,我们使用了run()函数来运行Shell命令'ls -l'。这个命令会列出当前目录下的文件和文件夹,并以长格式显示。我们可以使用一个包含命令和参数的列表传递给run()函数。

在上面的例子中,我们还演示了一些其他的用法。使用cwd参数可以指定工作目录,让命令在指定的目录下执行。使用capture_output参数可以捕获命令的输出,并以文本形式返回。使用text参数可以将返回的输出解码为字符串。

最后,我们可以使用returncode属性来获取子进程的完成状态。如果命令成功执行,returncode会返回0,否则会返回一个非零的值。

需要注意的是,run()函数在Python 3.5及以上版本中可用。如果使用较早的Python版本,可以考虑使用subprocess模块的其他函数,比如call()或Popen()。但是对于大多数情况下,使用run()函数就足够了。

总结起来,使用run()函数运行Shell脚本可以通过传递命令和参数的列表来完成,还可以指定工作目录、捕获输出和获取子进程的完成状态。上述例子展示了一些基本用法,根据不同的需求可以进行适当的修改和扩展。