文件操作

Python文件操作详解

一、文件操作

    1.打开方式分为两种:绝对路径打开,相对路径打开

        d:\asd.txt    asd.txt

    2.编码方式:utf-8、gbk。。。

    3.操作方式:只读、只写、追加、读写、写读。。。

  读:r、rb、r+

    打开一个文件:

      f = open('file',mode='r')
      print(f.read())
      f.close()

    在文件里追加内容:

      f = open('file',mode='r+',encoding='utf-8')
      print(f.read())
      f.write('123')
      f.close()

       ##这里会遇到个问题:先读再写写的内容读不出来,要是先写再读就会输出空。为什么会出现这个问题,原因是指针没有从头开始。

       解决办法:加一行:f.seek(0)  就可以让指针到头

      f = open('file',mode='a+',encoding='utf-8')
      f.write('123')
      f.seek(0)
      print(f.read())
      f.close()

    修改文件内容:

      f = open('file',mode='ab')
      f.write('123'.encode('utf-8'))
      f.close()

 

  写:w、w+、wb

    w只写,把文件内容都清空,然后再写入,如果没有这个文件则自动创建文件。

    其他跟r+、rb用法一样。

      f = open('file',mode='w',encoding='utf-8')
      f.write('123')
      f.close()

  追加:a、a+、ab

    a在文件内容后追加内容。其他跟r一样。

      f = open('file',mode='a',encoding='utf-8')
      f.write('123')
      f.close()

  其他功能:  

   f.tell() 输出光标位置

   f.seek()移动光标到第几个字节(中文3个字节,如果移动2个则报错)。f.seek(0,2) 移动到结尾。

    f = open('file',mode='r+',encoding='utf-8')
    print(f.tell())
    f.seek(4)
    print(f.tell())
    f.close()

   f.readline()一行一行的读文件内容(只读第一行)

   f.readlines()每一行当成列表中的一个元素,添加到list中,可以for循环读,会有换行用strip去掉。

    f = open('file',mode='r+',encoding='utf-8')
    line = f.readlines()
    for i in line:
    print(i.strip())
    f.close()

  f.truncate(3)  #保留前3个字节(一个中文汉字)

  另一种读取方法:with

    with open('file',mode='a+',encoding='utf-8') as f:
    f.write('asd')

  

 

      

转载于:https://www.cnblogs.com/tsboy/p/8111097.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值