BluePen BluePen
  • Jenkins
  • OS
  • 算法
随笔
分类
标签
归档
关于
留言板
GitHub (opens new window)

Alex

一个好人
  • Jenkins
  • OS
  • 算法
随笔
分类
标签
归档
关于
留言板
GitHub (opens new window)
  • 命令行参数解析
  • 配置文件
  • 日志打印
  • 执行系统命令
    • 参考
  • Python
Alex
2019-06-10
目录

执行系统命令

使用自带模块一般有如下方式:

  • os.system(cmd)
  • subprocess.run([cmd])

建议使用 subprocess.run([cmd]), 返回的对象可以获取执行结果

eg: 执行 ping命令,变相 hack了 sleep的功能

def run_sys_cmd(cmd, **kw):
    commnd = list(filter(lambda x:x, cmd.split(' ')))
    return subprocess.run(commnd, **kw)

cmd = 'ping 127.0.0.1 -n 3'
# ret = run_sys_cmd(cmd, capture_output=True) #捕获输出,不输出到标准输出
ret = run_sys_cmd(cmd)
print(ret.returncode) #命令返回码,成功为 0
# print(ret.stdout) #未指定text参数,则为编码后的字节流
1
2
3
4
5
6
7
8
9

当使用时提示命令不存在或文件找不到,可添加 shell=True参数解决

-> 参考

  • python subprocess (opens new window)
编辑此页 (opens new window)
更新于: 2019-06-10 11:50
日志打印

← 日志打印

Copyright © 2019-2022 | yxxy | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式