Python文件处理

1. 普通文件(无后缀名)

1.1 文件操作流程

  1. 打开文件,得到文件句柄并赋值给一个变量
  2. 通过句柄对文件进行操作
  3. 关闭文件
    现有法兹乐队歌曲《控制》歌词文件如下

我只指童心之源
童心是成人的源泉
我只指望一世光阴
贯穿对自然的崇敬
天边彩虹映入眼帘
我的心为之雀跃
我只指望一世光阴
贯穿对自然的崇敬
时间是否还能够等着我
时间是否还能够控制我
时间是否还能够等着我
时间是否还能够控制我
控制 我控制 我控制你
控制 我控制 我控制自己
控制 我控制 我控制你
控制 我控制 我控制自己

f = open('C:\\Users\\air14\\Desktop\\控制', encoding='utf8')
content = f.read()
f.close()
content
# '我只指童心之源\n童心是成人的源泉\n我只指望一世光阴\n贯穿对自然的崇敬\n天边彩虹映入眼帘\n我的心为之雀跃\n我只指望一世光阴\n贯穿对自然的崇敬\n时间是否还能够等着我\n时间是否还能够控制我\n时间是否还能够等着我\n时间是否还能够控制我\n控制 我控制 我控制你\n控制 我控制 我控制自己\n控制 我控制 我控制你\n控制 我控制 我控制自己'

注意windows系统中中文编码为gbk,而文件是以utf8保存的,打开文件时open函数是通过操作系统打开的文件,win默认的是gbk编码,所以直接打开会乱码,需要在open函数中指定encoding=‘utf8’

1.2 文件打开模式

这里只介绍简单的打开模式,待介绍如何写入后,再介绍读写的打开模式

文件的打开模式描述
r只读模式打开,默认值,若文件不存在,返回FileNotFoundError
t以文本文件格式打开,默认值
w覆盖写模式,文件不存在则创建,存在则全部覆盖,慎用
x创建写模式,文件不存在则创建,存在则返回FileExistError
a追加写模式,文件存在则创建,存在则在文件最后追加内容
b以二进制格式打开

1.3 文件内容的读取

操作方法描述
f.read(size=-1)读取全部内容,如果给出参数,读取前size长度
f.readline(size=-1)读取一行内容,如果给出参数,读取该行前size长度,可以和for循环结合使用
f.readlines(hint=-1)读取文件所有行,以每行内容为元素形成列表,如果给出参数,读取前hint行
with open('C:\\Users\\air14\\Desktop\\控制', 'r', encoding='utf8', ) as f:
    print(f.read())
    print('-------------------')
    f.seek(0)  # 光标位于文件末尾,需置0
    for i in range(3):
        print(f.readline())
    print('-------------------')
    f.seek(0)  # 光标位于文件末尾,需置0
    print(f.readlines())

我只指童心之源
童心是成人的源泉
我只指望一世光阴
贯穿对自然的崇敬
天边彩虹映入眼帘
我的心为之雀跃
我只指望一世光阴
贯穿对自然的崇敬
时间是否还能够等着我
时间是否还能够控制我
时间是否还能够等着我
时间是否还能够控制我
控制 我控制 我控制你
控制 我控制 我控制自己
控制 我控制 我控制你
控制 我控制 我控制自己


我只指童心之源
童心是成人的源泉
我只指望一世光阴


[‘我只指童心之源\n’, ‘童心是成人的源泉\n’, ‘我只指望一世光阴\n’, ‘贯穿对自然的崇敬\n’, ‘天边彩虹映入眼帘\n’, ‘我的心为之雀跃\n’, ‘我只指望一世光阴\n’, ‘贯穿对自然的崇敬\n’, ‘时间是否还能够等着我\n’, ‘时间是否还能够控制我\n’, ‘时间是否还能够等着我\n’, ‘时间是否还能够控制我\n’, ‘控制 我控制 我控制你\n’, ‘控制 我控制 我控制自己\n’, ‘控制 我控制 我控制你\n’, ‘控制 我控制 我控制自己’]

1.4 文件的写入

操作方法描述
f.write()向文件写入内容
f.writelines()将一个元素全为字符串的列表写入文件

1.5 几种读写模式打开文件

操作方法描述
r+1. 文件存在,打开文件,文件指针定位到文件开始位置,如果写则是覆盖写;2. 文件不存在, 则报错文件不存在
w+1. 文件存在,则清空(也即写入空); 2. 文件不存在,则创建文件 ; 3. 文件流定位到开始位置, 所以read() 会得到空
a+1. 文件存在,打开文件,文件指针定位到文件开始位置,但不清空;2. 文件不存在,创建文件; 3. 打开后读取时,在文件开头位置,4. 写入时,添加到文章末尾,并且指针位于添加后的末尾,所以再次读取会乱码。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值