python执行linux系统命令的三种方式
【摘要】 前言这是我在这个网站整理的笔记,有错误的地方请指出,关注我,接下来还会持续更新。 作者:神的孩子都在歌唱1. 使用os.system无法获取命令执行后的返回信息import osos.system('ls')2. 使用os.popen能够获取命令执行后的返回信息import osdata=os.popen('ls').readlines()print(data)3. 使用模块 subpr...
这是我在这个网站整理的笔记,有错误的地方请指出,关注我,接下来还会持续更新。
作者:神的孩子都在歌唱
1. 使用os.system
无法获取命令执行后的返回信息
import os
os.system('ls')
2. 使用os.popen
能够获取命令执行后的返回信息
import os
data=os.popen('ls').readlines()
print(data)
3. 使用模块 subprocess
通过subprocess模块可以更灵活地执行命令,并获取执行后的返回信息。
import subprocess
# 使用Popen执行命令,并捕获标准输出
result = subprocess.Popen('ls', shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
# 读取并解码标准输出
output_bytes = result.stdout.read()
output_str = output_bytes.decode('utf-8')
# 输出结果
print(output_str)
# 或者逐行输出结果
for line in output_str.splitlines():
print(line)
参数解释:
-
shell=True
:指示在shell中运行命令。 -
stdout=subprocess.PIPE
:捕获命令的标准输出。 -
stderr=subprocess.STDOUT
:将标准错误输出重定向到标准输出。
通过使用subprocess模块,可以更方便地处理命令执行的输出,并在需要时对其进行进一步处理。
作者:神的孩子都在歌唱
本人博客:https://blog.csdn.net/weixin_46654114
【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)