当前位置:   article > 正文

用Python执行Linux命令

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)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

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() # 是否为文件
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/72301
推荐阅读
相关标签
  

闽ICP备14008679号