首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用带有动态卷名的python检查卷是否已挂载

如何使用带有动态卷名的python检查卷是否已挂载
EN

Stack Overflow用户
提问于 2012-10-18 18:52:02
回答 1查看 2.5K关注 0票数 0
代码语言:javascript
复制
import subprocess

def volumeCheck(volume_name):
    """This function will check volume name is mounted or not.
    """
volume_name = raw_input('Enter volume name:')
volumeCheck(volume_name)

print 'volume_name=',volume_name    
p = subprocess.Popen(['df', '-h'], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
p1, err = p.communicate()
pattern = p1

if pattern.find(volume_name):
    print 'volume found'
else:
    print 'volume not found'

在运行的过程中,我总是得到错误的结果“找到卷”。

代码语言:javascript
复制
root@sr-query:/# df -h
Filesystem            Size  Used Avail Use% Mounted on
rootfs                938M  473M  418M  54% /
/dev/md0              938M  473M  418M  54% /
none                  250M  4.9M  245M   2% /dev
/dev/md2              9.7M  1.2M  8.0M  13% /usr/config
/dev/md7              961M   18M  895M   2% /downloads
tmpfs                 250M  7.9M  242M   4% /var/volatile
tmpfs                 250M     0  250M   0% /dev/shm
tmpfs                 250M     0  250M   0% /media/ram
**/dev/mapper/vg9-lv9  1016M   65M  901M   7% /VolumeData/sp
/dev/mapper/vg10-lv10
                     1016M   65M  901M   7% /VolumeData/cp**
root@sr-query:/# 
root@sr-query:/# 

root@sr-query:/# python volume_check.py

Enter volume name:raid_10volume

volume_name= raid_10volume
**volume found**
root@sr-query:/# 

我输入了输出,这里没有列出,请检查df -h命令raid_10volume (只有2个卷sp和cp),然后它是如何到达其他部分的。我的代码出了什么问题?提前谢谢。

有没有其他方法来做这项工作!?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-18 19:00:58

pattern是一个字符串,所以当找不到模式时,find方法返回-1。您需要将比较行更改为:

代码语言:javascript
复制
if pattern.find(volume_name) != -1:
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12952962

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档