加载中…
个人资料
风起缘尽
风起缘尽
  • 博客等级:
  • 博客积分:0
  • 博客访问:61,533
  • 关注人气:12
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
相关博文
推荐博文
谁看过这篇博文
加载中…
正文 字体大小:

ntfs-config 报错 IndexError  list index out of range

(2011-07-25 10:19:11)
标签:

py

杂谈

分类: Liunx(Ubuntu
像我这种懒人,是不会自己去写配置文件自动挂载NTFS硬盘的。所以就用了ntfs-config来配置。
11.04之前,使用起来,一直没有问题。 切换到11.04后,每次都会报错
root@Richard-XPS:~# ntfs-config
Traceback (most recent call last):
  File "/usr/bin/ntfs-config", line 102, in <module>
    main(args, opts)
  File "/usr/bin/ntfs-config", line 75, in main
    app = NtfsConfig()
  File "/usr/lib/pymodules/python2.7/NtfsConfig/NtfsConfig.py", line 59, in __init__
    self.disk = FstabHandler(FSTAB, parent = self.dialog_main, external_change_watch = True)
  File "/usr/lib/pymodules/python2.7/NtfsConfig/Fstab/FstabHandler.py", line 80, in __init__
    self._build_object()
  File "/usr/lib/pymodules/python2.7/NtfsConfig/Fstab/FstabHandler.py", line 119, in _build_object
    get_fuse_options(entry)
  File "/usr/lib/pymodules/python2.7/NtfsConfig/Fstab/FstabUtility.py", line 51, in get_fuse_options
    if os.path.exists(res[1]) and os.path.realpath(res[1]) == entry["DEVICE"] :
IndexError: list index out of range
懒办法,既然是数组越界,那就看看源码吧

 root@Richard-XPS:~# gedit /usr/lib/pymodules/python2.7/NtfsConfig/Fstab/FstabUtility.py

错误就发生在这里
     for line in lines :
        res = line.split()
        if os.path.exists(res[1]) and os.path.realpath(res[1]) == entry["DEVICE"] :
            entry["FSTAB_TYPE"] = entry["FS_TYPE"]
最简单的,增加一个index判断。确保只有存在 res[1]的时候,才运行程序。
注意py语言的特色,要调整下方行的缩进。

     for line in lines :
        res = line.split()
    if len(res) > 1 :
        if os.path.exists(res[1]) and os.path.realpath(res[1]) == entry["DEVICE"] :
            entry["FSTAB_TYPE"] = entry["FS_TYPE"]
            for driver in glob.glob("/sbin/mount.*") :
                if os.path.basename(res[0]) == os.path.basename(driver) \
                or os.path.basename(res[0]) == os.path.basename(os.path.realpath(driver)) :
                    entry["FSTAB_TYPE"] = driver.split("mount.")[-1]
            if "-o" in res :
                entry["FSTAB_OPTION"] = res[res.index("-o") + 1]

0

阅读 评论 收藏 转载 喜欢 打印举报/Report
  • 评论加载中,请稍候...
发评论

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

      

    新浪BLOG意见反馈留言板 电话:4000520066 提示音后按1键(按当地市话标准计费) 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有