用Python执行Linux命令

用Python执行Linux命令

直接上代码:

import os   # 导入os模块

cmd1 = 'ls'   # 要执行的Linux命令放入单引号中(用于情况 1)
cmd2 = 'systemctl start ntpd.service'   #(用于情况 2)

# 情况 1:在子终端运行系统命令,不需要获取命令执行后的返回信息
os.system(cmd1)

# 情况 2:在子终端运行系统命令,并获取命令执行后的返回信息
textlist = os.popen(cmd2).readlines()
for line in textlist:   # 输出命令执行后的返回信息
	print(line)

Python调用shell命令

1、os.system(command)
在一个子shell中运行command命令,并返回command命令执行完毕后的退出状态。这实际上是使用C标准库函数system()实现的。这个函数在执行command命令时需要重新打开一个终端,并且无法保存command命令的执行结果。

2、os.popen(command,mode)
打开一个与command进程之间的管道。这个函数的返回值是一个文件对象,可以读或者写(由mode决定,mode默认是’r’)。如果mode为’r’,可以使用此函数的返回值调用read()来获取command命令的执行结果。

3、区别
os.system(cmd) 返回值是脚本的退出状态码
os.popen(cmd) 返回值是脚本执行过程中的输出内容

参考《Python调用shell命令》


补充os模块常见Linux命令有关方法:

os.remove() # 删除文件
os.rename() # 重命名文件
os.walk() # 生成目录树下的所有文件名
os.chdir() # 改变目录
os.mkdir/makedirs # 创建目录/多层目录
os.rmdir/removedirs # 删除目录/多层目录
os.listdir() # 列出指定目录的文件
os.getcwd() # 取得当前工作目录
os.chmod() # 改变目录权限
os.path.basename() # 去掉目录路径,返回文件名
os.path.dirname() # 去掉文件名,返回目录路径
os.path.join() # 将分离的各部分组合成一个路径名
os.path.getsize() # 返回文件大小
os.path.exists() # 是否存在
os.path.isabs() # 是否为绝对路径
os.path.isdir() # 是否为目录
os.path.isfile() # 是否为文件
  • 6
    点赞
  • 56
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值