文件基本操作
-
output = open(r'C:\spam', 'w') # 打开输出文件,用于写
-
input = open('data', 'r') # 打开输入文件,用于读。打开的方式可以为'w', 'r', 'a', 'wb', 'rb', 'ab'等
-
fp.read([size]) # size为读取的长度,以byte为单位
-
fp.readline([size]) # 读一行,如果定义了size,有可能返回的只是一行的一部分
-
fp.readlines([size]) # 把文件每一行作为一个list的一个成员,并返回这个list。其实它的内部是通过循环调用readline()来实现的。如果提供size参数,size是表示读取内容的总长。
-
fp.readable() # 是否可读
-
fp.write(str) # 把str写到文件中,write()并不会在str后加上一个换行符
-
fp.writelines(seq) # 把seq的内容全部写到文件中(多行一次性写入)
-
fp.writeable() # 是否可写
-
fp.close() # 关闭文件。
-
fp.flush() # 把缓冲区的内容写入硬盘
-
fp.fileno() # 返回一个长整型的”文件标签“
-
fp.isatty() # 文件是否是一个终端设备文件(unix系统中的)
-
fp.tell() # 返回文件操作标记的当前位置,以文件的开头为原点
-
fp.next() # 返回下一行,并将文件操作标记位移到下一行。把一个file用于for … in file这样的语句时,就是调用next()函数来实现遍历的。
-
fp.seek(offset[,whence]) # 将文件打操作标记移到offset的位置。whence可以为0表示从头开始计算,1表示以当前位置为原点计算。2表示以文件末尾为原点进行计算。
-
fp.seekable() # 是否可以seek
-
fp.truncate([size]) # 把文件裁成规定的大小,默认的是裁到当前文件操作标记的位置。
-
for line in open('data'):
-
print(line) # 使用for语句,比较适用于打开比较大的文件
-
open('f.txt', encoding = 'latin-1') # Python3.x Unicode文本文件
-
open('f.bin', 'rb') # Python3.x 二进制bytes文件
-
# 文件对象还有相应的属性: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__
- 创建实例对象