Python学习 - 第8天(文件操作)

1、打开文件

  open('路径','打开方式','指定编码方式')

    路径:绝对路径,相对路径

    打开方式:r w a r+ w+ a+ b

      r+ 打开文件直接写和读完再写

    编码方式:utf-8

#   w:  没有此文件就会创建文件
f = open('log',mode = 'w',encoding = 'utf-8')
f.write('小哥哥!小姐姐!')
f.close()
#   w:  有此文件,先将源文件的内容全部清除,再写
f = open('log',mode = 'w',encoding = 'utf-8')
f.write('一场游戏一场梦!')
f.close()
#   w+  写读(先写,再读)
f = open('log',mode = 'w+',encoding = 'utf-8')
f.write('漂洋过海来看你!')
f.seek(0)
print(f.read())
f.close()
#   wb  对于非文本文件,我们只能使用b模式,"b"表示以字节的方式操作(而所有文件也都是以字节的形式存储的,使用这种模式无需考虑文本文件的字符编码、图片文件的jgp格式、视频文件的avi格式)
f = open('log',mode = 'wb')
f.write('说散就散!'.encode('utf-8'))
f.close()
#   r  只读
f = open('log',mode = 'r',encoding = 'utf-8')
content = f.read()
print(content)
f.close()
#   r+  读写,追加写
f = open('log',mode = 'r+',encoding = 'utf-8')
content = f.read()
print(content)
f.write('我的一个道姑朋友!')
f.close()
#   rb  以bytes类型操作的读写,写读,写读模式
f = open('log',mode = 'rb')
content = f.read()
print(content)
f.close()
#   b'\xe8\xaf\xb4\xe6\x95\xa3\xe5\xb0\xb1\xe6\x95\xa3!\xe6\x88\x91\xe7\x9a\x84\xe4\xb8\x80\xe4\xb8\xaa\xe9\x81\x93\xe5\xa7\x91\xe6\x9c\x8b\xe5\x8f\x8b\xef\xbc\x81'
#   a   追加
f = open('log',mode = 'a',encoding = 'utf-8')
f.write('追光者')
f.close()
#   a+  追加再读,f.seek(0),指针指向起始
f = open('log',mode = 'a+',encoding = 'utf-8')
f.write('岁月神偷')
f.seek(0)
print(f.read())
f.close()
#   ab  以b方式打开时,读取到的内容是字节类型,写入时也需要提供字节类型,不能指定编码
f = open('log',mode = 'ab')
f.write('才华有限公司!'.encode('utf-8'))
f.close()

2、操作文件

  1)读

    read  一次性读

    readlines  一次性读

    readline  一行一行的读

      不知道在哪儿结束

      视频、图片、rb、bytes,按照字节读

    for循环  最好!!!

  2)写

    write

  3)光标 — 文件指针

    seek()  指定光标移动到某个位置

    tell()  获取光标当前的位置

    truncate()  截取文件

3、关闭文件

  close()

  with open() as f:

4、修改文件

with open('log',encoding = 'utf-8') as f,open('log.bak','w',encoding = 'utf-8') as f2:
    for line in f:
        if '陈粒' in line:
            line = line.replace('陈粒','双笙')
            f2.write(line)
import os
os.remove('log')
os.rename('log.bak','log')

 

posted @ 2018-07-24 17:41  wing1377  阅读(204)  评论(0编辑  收藏  举报