python 调用系统命令os

本文介绍如何使用Python的os模块获取环境变量及GPU序列号,对比os.system与os.popen函数的区别,演示了从环境变量中解析GPU信息的具体步骤。

一、获取环境变量

import os

env_dist = os.environ
# 打印所有环境变量,遍历字典
for key in env_dist:
    print key + ' : ' + env_dist[key]

二、os.system(cmd)与os.popen(cmd)的区别

os.system(cmd)返回结果为0(成功) 1,2

os.popen(cmd)返回系统执行命令的结果

Python 2.7.12 (default, Oct  8 2019, 14:14:10) 
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> os.system('nvidia-smi -L')
GPU 0: GeForce GTX 1080 (UUID: GPU-4e2ee1df-6a5b-31b7-f18c-adb475dd62c8)
0
>>> os.popen('nvidia-smi -L')
<open file 'nvidia-smi -L', mode 'r' at 0x7fa9f59ff540>
>>> os.popen('nvidia-smi -L').readlines()
['GPU 0: GeForce GTX 1080 (UUID: GPU-4e2ee1df-6a5b-31b7-f18c-adb475dd62c8)\n']
>>> os.popen('nvidia-smi -L').readlines()[0]
'GPU 0: GeForce GTX 1080 (UUID: GPU-4e2ee1df-6a5b-31b7-f18c-adb475dd62c8)\n'

三、调用环境变量获取GPU序列号

>>> os.popen('A=$(nvidia-smi -L) &&  B=${A##*GPU} &&  C=${B%%)*+} && echo $C').readlines()[0]
'-4e2ee1df-6a5b-31b7-f18c-adb475dd62c8)\n'

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值