首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >文件的基本操作

文件的基本操作

作者头像
py3study
发布2020-01-17 10:35:34
3530
发布2020-01-17 10:35:34
举报
文章被收录于专栏:python3python3

假设文件名为:loga.txt        内容为:你说什么呢

1 -- open() 打开文件

  参数1: 要打开的文件路径 + 文件名

  参数2: 打开方式

    r   ---- 只读模式,文本必须存在

r+ ---- 读写模式,文件必须存在( 常用这种方式操作文件 )

    w  ---- 只写模式,不能调用read()进行读操作,如果打开一个已存在的文件,会先清空内容

    w+ ---- 读写模式,如果打开一个已存在的文件,会先清空内容

    a ---- 追加模式,不能调用read()进行读操作,在文件的末尾汉添加内容,如果文件不存在,会自动创建

a+ ---- 追加读模式,在文件的末尾添加内容,如果文件不存在,会自动创建( 常用这种方式操作文件 )

    rb+、wb+、ab+,这种是二进制模式打开或者读取,一些音乐文件

    常用的是 r+ 和 a+ 这二种方式进行文件操作

fp = open('loga.txt',mode='r+',encoding='utf-8')

#先读一次文件内容,将光标设置到文件末尾,然后在进行写入操作
fp.read()  

fp.write("bbbbbbbbb")
fp.close()


#执行后文件的内容:
#你说什么呢bbbbbbbbb

2 -- read() 读取文件内容

  参数:读取的字符数量,默认全部读取

fp = open('loga.txt',mode='r+',encoding='utf-8')

print(fp.read(3))

fp.close()

#结果:
#你说什

3 -- readline() 只读取一行内容

  每调用一次,就会读取一行的内容,然后将光标设置到下一行的开始位置

  注意:该函数会自动给读取到的内容后加一个 换行符 

#文件内容:
#你说什么呢
#12345
#好好的

fp = open('loga.txt',mode='r+',encoding='utf-8')

print(fp.readline())
print(fp.readline())
print(fp.readline())

fp.close()

#执行结果:
#你说什么呢
#
#12345
#
#好好的

4 -- readines() 

  将文件内容按照行的方式进行读取,返回一个列表,每一行内容为一个元素

#文件内容如下:
#你说什么呢
#12345
#好好的

fp = open('loga.txt',mode='r+',encoding='utf-8')

print(fp.readlines())

fp.close()


#结果:
#['你说什么呢\n', '12345\n', '好好的']

5 -- write() 写入文件内容

fp = open('loga.txt',mode='r+',encoding='utf-8')

#先读一次文件内容,将光标设置到文件末尾,然后在进行写入操作
fp.read()

fp.write("aaa")
fp.close()

6 -- close() 关闭文件

   操作完文件后,必须进行关闭,否则容易出错

---------------------------操作文件光标的函数---------------------------

1 -- seek() 设置光标的位置

  参数:0 表示将光标设置到文件开始位置

  注意:该函数是按照 字节 的方式进行设置在utf-8环境下,一个中文字符占用3个字节,英文字符占用1个字节

2 -- tell()  返回当前光标的所在位置

---------------------------自动调用关闭文件的功能写法---------------------------

在很多时侯,会有可能在操作完文件后,忘记调用close函数进行关闭,python提供了一个自动关闭文件的方法

支持同时打开多个文件,用 ' , '号隔开

with open('loga.txt',mode='r+',encoding='utf-8') as fp:
    print(fp.read())

执行完 print函数后,会自动调用close进行关闭文件操作。

---------------一次打开二个文件,进行操作

with open('loga.txt',mode='r+',encoding='utf-8') as fp,open('loga.txt',mode='r+',encoding='utf-8') as fp2:
    print(fp.read())
    print(fp2.read())
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-04-29 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档