文件操作

1.文件打开 (open)

  - read  (r) :  只读 , 打开后不能编写 , 打开时如果文件不存在会报错 . 

  - write (w) : 只写 , 打开后不能读取只能编写 , 编写打开时会先清空原文件内容 . 如果文件内容不存在会新增一个 . 

  - append (a) : 只能追加 , 不能读 . 将新内容追加到原内容之后 . 如果文件内容不存在会新增一个 . 

  - 书写规范

file_object=open("log.txt",mode='r',encoding='utf-8')
file_object.read()
file_object.write("填要写入的内容") 
file_object.append("填要追加的内容")

  - r+   : 可读可写 .

    - 读 : 默认从0的位置开始读 , 也可以通过seek调整光标位置 .

    - 写 : 写入时根据当前光标位置进行 , 可能会将其他文字覆盖 , 可以通过seek调整光标位置 . 

  - w+  :

    - 读 : 默认光标永远在最后或0 , 读取时可通过seek调整光标位置 .

    - 写 : 写入时会将文件先清空 . 

  - a+  :

    - 读 : 默认光标永远在最后 , 通过seek调整光标位置后 , 再进行读取当执行追加时光标自动跳到最后 . 

    - 写 : 永远写在最后 . 

2.文件操作

  - 读 :   

    - read() : 读取所有内容到内存 , 内容过多容易造成崩溃。

    - read(1024) : 如果是二进制rb读取文件,则是每次读1024个字节;如果是r读取文件,则是每次读取1024个字符。

    - readlines() : 所有文件读取到内存 , 按照每一行分割到列表中 .   \n换行符 , 文件内不显示 , 实际换行后有换行符。

    - readline():每次读取一行;返回的是一个字符串对象,保持当前读取位置,即光标会停在读取数据的位置。

    - readline(2):表示读两个字符。

  - 写:

    - write('字符串')

obj = open('a.txt',mode='w',encoding='utf-8')
obj.write('你好')
obj.close() 

    - write('二进制')

obj = open('a.txt',mode='wb') 
v = '你好'.encode('utf-8') 
obj.write(v) 
obj.close()

3.光标操作    

  - seek():移动光标到指定字节的位置。

  - tell():查看当前光标所在位置。

3.文件关闭

  - file_object.close() : 关闭时会将内容强制存到硬盘

原文地址:https://www.cnblogs.com/liuweida/p/10655572.html