python 高级 文件的基本操作 魔法方法 面向对象 概念

文件基本操作

 
  1. output = open(r'C:\spam', 'w') # 打开输出文件,用于写

  2. input = open('data', 'r') # 打开输入文件,用于读。打开的方式可以为'w', 'r', 'a', 'wb', 'rb', 'ab'等

  3. fp.read([size]) # size为读取的长度,以byte为单位

  4. fp.readline([size]) # 读一行,如果定义了size,有可能返回的只是一行的一部分

  5. fp.readlines([size]) # 把文件每一行作为一个list的一个成员,并返回这个list。其实它的内部是通过循环调用readline()来实现的。如果提供size参数,size是表示读取内容的总长。

  6. fp.readable() # 是否可读

  7. fp.write(str) # 把str写到文件中,write()并不会在str后加上一个换行符

  8. fp.writelines(seq) # 把seq的内容全部写到文件中(多行一次性写入)

  9. fp.writeable() # 是否可写

  10. fp.close() # 关闭文件。

  11. fp.flush() # 把缓冲区的内容写入硬盘

  12. fp.fileno() # 返回一个长整型的”文件标签“

  13. fp.isatty() # 文件是否是一个终端设备文件(unix系统中的)

  14. fp.tell() # 返回文件操作标记的当前位置,以文件的开头为原点

  15. fp.next() # 返回下一行,并将文件操作标记位移到下一行。把一个file用于for … in file这样的语句时,就是调用next()函数来实现遍历的。

  16. fp.seek(offset[,whence]) # 将文件打操作标记移到offset的位置。whence可以为0表示从头开始计算,1表示以当前位置为原点计算。2表示以文件末尾为原点进行计算。

  17. fp.seekable() # 是否可以seek

  18. fp.truncate([size]) # 把文件裁成规定的大小,默认的是裁到当前文件操作标记的位置。

  19. for line in open('data'):

  20. print(line) # 使用for语句,比较适用于打开比较大的文件

  21. open('f.txt', encoding = 'latin-1') # Python3.x Unicode文本文件

  22. open('f.bin', 'rb') # Python3.x 二进制bytes文件

  23. # 文件对象还有相应的属性:buffer closed encoding errors line_buffering name newlines等

面向对象编程

用class 关键字,
类的名字首字母大写(与函数区分),如:classPerson:

用调用函数的形式生成实例。


__init() 是类的构造方法。子类重写__init__方法的时候,需要显示的调用,

可以用 super().__init__() 
或者用 FatherClassName.__init__()形式。

class Parent:

   
def__init__(self):

       
print"this is parent"

   
defprocess(self):

       
self.test()

       
print"this is process in parent"

   
def test(self):

       
print"the test in parent is called"

class Child(Parent):

   
def__init__(self):

       Parent.__init__(self)

       
print"this is child"

   
def test(self):

       
print"the test in child is called"

if __name__ == "__main__":

   
newo = Child()

   
newo.process(


self为类中方法的默认第一个参数,self指向创建的实例本身。 调用时self不需要传,Python解释器自己会把实例变量传进去

魔法方法:

__del__

  • 当对象在内存中没有引用,被释放时,自动触发执行

__str__

  • 如果一个类中定义了__str__方法,那么在打印对象时,默认输出该方法的返回值

__init__

  • 初始化方法,通过类创建对象时,自动触发执行

__new__

  • 创建实例对象
  •  

猜你喜欢

转载自blog.csdn.net/weixin_43706473/article/details/85945418
今日推荐