Python常见问题

1.提取中文与指定字符串

    def txtRead(self):
        # coding = utf-8
        import sys
        import os
        reload(sys)
        sys.setdefaultencoding("utf-8")

        path = u'path'
        file_path = os.path.join(path, u'xx.txt')
        print file_path
        f = open(file_path, 'r')
        for eachline in f:
            if eachline.__contains__('handlePostJson'):
                print eachline[41:].split()[0]

2. ValueError: Expecting ',' delimiter:

转json的时候出现此类错误,多是由于单双引号造成的,可以在sublime Text中查看要转json的内容,如果不可以正确转json,在sublime Text中会高亮显示,此时将不能正确转json的部分提取出去进行修改在替换原来的内容即可

3.Python中的多继承:

子类未定义__init__方法时,python会自动帮你调用首个基类的__init__方法,注意是首个。即:子类继承自多个基类时,只有第一个基类的__init__方法会被调用到:

class A:
  def __init__(self):
    print 'a'
class B:
  def __init__(self):
    print 'b'
class C(B):
  def __init__(self):
    print 'c'
  pass
class D1(A,B,C):
  pass
class D2(B,A,C):
  pass
class D3(C,B,A):
  pass
if(__name__=='__main__'):
  print 'd1------->:'
  d1=D1()
  print 'd2------->:'
  d2=D2()
  print 'd3------->:'
  d3=D3()
>>> 
d1------->:
a
d2------->:
b
d3------->:
c

如需要对其他父类进行初始化,则需要显示的在子类的__init__方法中调用:

class A:
  def __init__(self):
    print 'a'
class B:
  def __init__(self):
    print 'b'
class C(B):
  def __init__(self):
    print 'c'
class D1(A,B,C): def __init__(self): A.__init__(self) B.__init__(self) C.__init__(self)
原文地址:https://www.cnblogs.com/cmm2016/p/6625813.html