文件的读写

文件
    (1)文件的类型
        文本文件:由单一特定编码(如UTF8)组成的文件,如.txt/.py/.html等,默认的编码是gbk 这个是中文编码(二进制读写的时候要注意编码问题 ,默认情况下我们写入文件的编码是gbk
        二进制文件:没有统一字符编码,直接由比特0和1组成的文件,如.png/.exe/.avi等,用记事本打开形成乱码
    (2)文件的打开宇关闭
        打开:变量名=open(文件路径和文件名,rt/rb/x/w/a/+)
            t:文本文件打开
            b:二进制文件打开
            x:创建文件不写内容
            w:创建、覆盖文件包括内容
            a:创建追加内容
            +:与rwxa一同使用增加其他功能
        关闭:变量名.close()
    (3)文件内容的读取
        变量名.read(size):读入文件整个内容,size为字符串长度
        变量名.readline(size):读入一行内容,size为一行内字符串长度
        变量名.readlines(hint):读入多行内容,hint为行数
    (4)文件数据的写入
        变量名.write(s):向文件写入一个字符串或字节流
        变量名.writelines(lines):向文件写入一个字符串的列表
        变量名.seek(offset,from):改变当前文件操作指针的位置,from:0-文件开头 ,1-当前位置 ,2-文件结尾

f.seek(-2,1)    #在当前位置往回偏移2个字符


    (5)CSV文件:Comma-Separated Values(逗号分隔值文件),其基本规则:
            纯文本格式(txt)
            特殊符号分隔(空格,逗号,分号等)
            以行(line/row)为单位,中间没有空行

            逗号一定是英文半角,分隔每列数据

文件的打开和关闭: (注意文件路径)

f=open('../Stu_pack/万疆.txt',encoding='utf_8')   #打开文件
for line in f:
    print(line)
print(f.readlines(4))    #处理文件  
f.close()   #关闭文件

文件的写入: 

f=open('test.txt','w+')
f.write('文件的写入') #文件内容的写入
f.seek(0)               #改变当前文件操作指针的位置到文件的开头
print(f.read())
f.close()

with上下文管理对象,自动释放打开关联的对象 

with open('Test.txt','a') as f:
    print(f.read())
    f.write('python的\n')    #写入文件

 tell()  文件定位,指当前文件指针读取到的位置,光标位置。在读写文件的过程中,如果想知道当前的位置,可以使用tell()来获取

对于中文,每次读取一个汉字,则占用2个字符;英文,一个占一个

with open('Test.txt','r+') as f:
     print(f.read(3))
     print(f.tell())
     print(f.read(2))
     print(f.tell())
    pass

 truncate 可以对源文件进行截取操作

fobjA=open('Test.txt','r+')
fobjA.truncate(15) #保留前15个字符
print(fobjA.read())
fobjA.close()

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值