【Python大数据学习笔记_day10】

1.文件的打开操作

        打开文件生成文件对象:变量接受文件对象 = open(文件路径,文件模式,文件编码)

        注意事项

        1.文件路径:必须传入

        2.文件模式:可以不传,默认为r模式        注意:r模式下文件路径必须存在,否则报错

                模式分类:主要有        r:读        w:覆盖写        a:追加写        注意:w和a模式,如果文件不存在,会自动创建

        3.文件编码:可以不传,默认cp936        注意:一般编码都会修改为utf-8

                编码分类:主要有gbk(汉字国际扩展)和utf8(通用的万国码)

# open(文件路径,文件模式,文件编码): 文件路径必须提供,文件模式默认读:r模式
# 注意: r模式情况下,如果文件路径不存在,会直接报错FileNotFoundError
f1 = open('test1.txt')
# cp936: GBK编码在936代码页(codepage)  GB2312:国标:常用汉字 ->  GBK:国标扩展:除了常用汉字还有各类繁体字等
print(f1)  # <_io.TextIOWrapper name='test1.txt' mode='r' encoding='cp936'>

f2 = open('main.py', encoding='utf8')
print(f2)  # <_io.TextIOWrapper name='main.py' mode='r' encoding='utf8'>

# 注意: w和a模式,如果文件路径不存在,会自动创建
f3 = open('test2.txt', mode='w', encoding='utf8')
print(f3)  # <_io.TextIOWrapper name='test2.txt' mode='w' encoding='utf8'>

f4 = open('test3.txt', mode='a', encoding='utf8')
print(f4)  # <_io.TextIOWrapper name='test3.txt' mode='a' encoding='utf8'>

相对路径和绝对路径

        相对路径:在当前文件所在的目录下查找        举例:在windows中不带盘符的路径

                注意:./:代表相对当前路径(可以省略)        ../:代表上一级目录

        绝对路径:根据文件的完整路径查找        举例:在windows中带盘符的路径

                注意:在编程中路径之间的分隔符\往往有特殊的含义,建议都改成\\或者/

# 1.当前py文件和资源文件都在一个目录下
# 相对路径
f1 = open('test1.txt')
# 绝对路径
f2 = open('F:/BigData21/基础班资料/03_随堂视频和代码/day10/代码/day10_project/test1.txt')

# 2.当前py文件和资源文件不在一个目录下
# 相对路径
f3 = open('source/test4.txt')
# 绝对路径
f4 = open('F:\\BigData21\\基础班资料\\03_随堂视频和代码\\day10\\代码\\day10_project\\source\\test4.txt')

文件的关闭操作

        关闭文件对象:文件对象名.close()

# close(): 关闭文件对象
# 先打开文件生成文件对象
# 注意: utf8: 万国码  最通用的编码
f = open('test1.txt', mode='w', encoding='utf8')
# 再关闭文件对象
f.close()

文件的读操作

        读模式:r(默认)或者rb(读二进制内容)

        一个个字符读:

                读num个字符:read(num)

                读所有字符:read()

        一行行内容读:

                读一行内容:readline()

                读所有内容:readlines()

一个个读:

# 打开文件
f = open('test1.txt', mode='r', encoding='utf8')
# 读取文件
# read(num): 一次读取num个字符
data = f.read(8)
print(data)
# read(): 读取剩下的所有字符,如果是第一次读就是读取所有
data = f.read()
print(data)
# 关闭文件
f.close()

一行行读:

# 打开文件
f = open('test1.txt', mode='r', encoding='utf8')
# 读取文件
# readline(): 一次读取一行
data = f.readline()
print(data)
# readlines(): 读取剩下的所有行,如果是第一次读,就是读取所有内容
data_list = f.readlines()
print(data_list)
# 关闭文件
f.close()

文件的写操作:

        写模式:w(覆盖写)或者wb(覆盖写二进制内容)        a(追加写)或者ab(追加写二进制内容)

                一个个字符写:write(内容)

                一行行内容写:writelines(内容)

# 打开文件
f = open('test2.txt', mode='w', encoding='utf8')
# 写内容到文件
f.write('\t你好python\n')
f.writelines(
    """
    你好io流
    文件:file
    打开:open
    读:read
    写:write
    追加:append
    关闭:close
    行:line
    """
)
# 关闭文件
f.close()

综合练习:

普通备份文件

# 打开文件
f1 = open('test1.txt',mode='r',encoding='utf8')
f2 = open('test1[备份].txt',mode='w',encoding='utf8')
# 读写文件
data = f1.read()
f2.write(data)
# 关闭文件
f1.close()
f2.close()

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值