如何使用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脚本可以通过传递命令和参数的列表来完成,还可以指定工作目录、捕获输出和获取子进程的完成状态。上述例子展示了一些基本用法,根据不同的需求可以进行适当的修改和扩展。
