zoukankan      html  css  js  c++  java
  • python中的文件读写

     

    1.文件操作要素

      1:文件路径

      2:操作方式

      3:编码方式

    2:文件操作方式

    2.1:r 

    这里我在E盘根目录创建一个  测试文件.txt  作为例子,编码方式为gb2312,如下

    1 f = open('E:/测试文件.txt', mode='r', encoding='gb2312')      
    2 context = f.read()                                        
    3 print(context)                                            
    4 f.close()       #输出结果:python是个好东西,我们一定要好好学习它              
    上面,如果编码方式我们改成utf-8的话,将会显示如下错误
    1 f = open('E:/测试文件.txt', mode='r', encoding='utf-8')                                                                          
    2 context = f.read()                                                                                                           
    3 print(context)                                                                                                               
    4 f.close()       #输出结果:Traceback (most recent call last):                                                                     
    5                 #            File "C:/Users/XZB/PycharmProjects/s1/day8/文件操作.py", line 13, in <module>                       
    6                 #              context = f.read()                                                                            
    7                 #            File "D:python37libcodecs.py", line 322, in decode                                           
    8                 #              (result, consumed) = self._buffer_decode(data, self.errors, final)                            
    9                 #          UnicodeDecodeError: 'utf-8' codec can't decode byte 0xca in position 6: invalid continuation byte 
    因为再打开文件的时候我们必须以当初编辑这个文件的编码格式来打开,以什么编码方式储存文件的,就要以什么方法打开文件

    2.2 rb(非文字类的文件一般用rb,上传下载基本都用到)

    1 f = open('E:/测试文件.txt', mode='rb')   #这里就不用编码了,以什么存就以什么方式打开                                                                                                         
    2 content = f.read()                                                                                                                                                  
    3 print(content)                                                                                                                                                      
    4 f.close()       #输出结果:b'pythonxcaxc7xb8xf6xbaxc3xb6xabxcexf7xa3xacxcexd2xc3xc7xd2xbbxb6xa8xd2xaaxbaxc3xbaxc3xd1xa7xcfxb0xcbxfc'     
    5                 #实际里面存的是utf-8,gbk等格式的二进制                                                                                                                            

    2.3:写:w,没有这个文件就会创建文件,有这个文件就直接使用这个文件,并且将这个文件内原有的数据删除

    执行代码前文件中的内容

    1 f = open('相对路径文件', mode='w',encoding='utf-8')  
    2 f.write('我们现在将测试w的功能')                         
    3 f.close()                                      

    执行代码后文件中的内容:

    2.4:wb

    执行代码前文件中的内容

    1 f = open('相对路径文件', mode='wb')                                    
    2 f.write('我们现在将测试wb的功能'.encode('utf-8'))                         
    3 f.close()                                                        

     执行代码后文件中的内容

    如果我们在这里的写入方式改为其他的写入方式的话会怎么样呢?

    我们一起来实践看看:

    1 f = open('相对路径文件', mode='wb')                        
    2 f.write('我们现在将测试wb的功能'.encode('gb2312'))             
    3 f.close()                                            

    由此我们可知:我们要写的文件是以什么编码方式创建的,我们写的时候就要以什么编码方式去写

     2.5  a

    执行代码前

    1 with open('数据', mode='a', encoding='utf-8') as f:
    2     f.write('python也是个好工具')

    执行代码后

  • 相关阅读:
    下载安装ActiveMQ(消息队列)
    互联网项目架构之基于服务的分布式架构
    Shell报错bash^M /bin/bash^M: bad interpreter: No such file or directory
    rpm参数
    zabbix3.4+grafana5.0.1数据可视化
    Linux下目录栈操作详解
    有惊无险,拯救zabbix网页端
    tomcat7 开启gzip压缩
    欢迎使用CSDN-markdown基本语法
    新项目平台后台测试环境搭建
  • 原文地址:https://www.cnblogs.com/rcat/p/9302538.html
Copyright © 2011-2022 走看看