python使用pyqt4库导致oct函数执行出错

先贴上我的代码片段和错误描述

_mode = os.stat(dirPath).st_mode
print _mode
print type(_mode)
print oct(_mode)    #当运行到这句时出错
File "main.py", line 227, in checkdir
    print oct(_mode)
TypeError: oct(QTextStream): argument 1 has unexpected type 'int'

很简单的一个文件权限获取代码,但是却出错了,让我一度怀疑是不是自己记错oct使用方式了,将代码拆分,在python原生解释器一句一句执行后发现没有问题,但是怎么到编辑器里面就错了呢?

几经查找没结果后才注意到错误描述里面提到“ oct(QTextStream)”,通过ctrl+B查看一下oct函数定义,发现被定义到pyqt4去了

下面是python原生的定义

原因是我为了方便在引用pyqt4库时使用的如下语句

from PyQt4.QtGui import *
from PyQt4.QtCore import *

重新更新引用,并且更改当前代码中使用qt控件的代码,成功解决!

import PyQt4.QtGui as PyQt4Gui
import PyQt4.QtCore as PyQt4Core

错误描述还是给力啊,以后不能忽略它了

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值