• 文件的操作


    #  只要牵扯到文件的操作,都是字符串

    #  打开文件用到‘w’,源文件内容会被清空(相当于新建)

    #  sprip()  取消换行符

    #  换行符2个字节

    一、打开  (win    gbk     mac/Linux    utf-8)

    f = open('歌词')    

    # f:文件操作符    文件句柄   文件操作对象

    #  习惯叫 f   file   f_obj  f_handler  fh

    #  print(f.wriable())  判断文件是否可写

    #  print(f.readable())  判断文件是否可读

    f.write('552716')    # 写文件的时候需要写到数字,需要把数字转换成字符串

    #  open 打开文件是依赖了操作系统提供的途径

    # 操作系统有自己的编码,open在打开文件的时候默认使用操作系统的编码

    找到文件

    #找到文件详解:文件与py的执行文件在相同路径下,直接用文件名字就可以打开

          #:文件与py的执行文件在不同路径下,用绝对路径找到文件

    #文件的路径,需要用取消转译的方式来表示:1、\     2、r‘’

    #如果以写文件的方式打开一个文件,那么不存在的文件会被创建,存在的文件之前的内容会被清空

    f = open(r'C:UsersAdministratorDesktopday5作业参考.txt','w',encoding='utf-8')
    f.write('啦啦啦')
    f.close()

    关闭文件

    #操作系统级别的关闭文件资源: f.close()      必须写

    #del f   主动释放了一个python程序内存中的变量    可写可不写

    二、读文件(默认了读模式)

    1、读文件的第一种方式(读全部)

    #打开文件

    # f = open(‘歌词’,‘r’,encoding='utf-8')

    f = open('歌词',encoding= 'utf-8')

    1、读文件的第一种方式:read方法,用read方法会一次性的读出文件中的所以有内容

    conten = f.read()

    print(content)

    f.close()

    2、读一部分内容

    #读一部分内容:read(n),指定读n个单位

    print(f.read(5))

    3、第三种方式:按照行读

      每次执行readline就会往下读一行

    content = f.readline()
    print(content.strip())     # strip 去掉空格、制表符、换行符
    #print(1)    #-->1
    
     print('1
    ')    #-->1
    
    

    4、第四种:readlines(读所有行)

    content = f.readlines()

    print(content)  # ['apple 10 3 ', 'tesla 100000 1 ', 'mac 3000 2 ', 'lenovo 30000 3 ', 'chicken 10 3 ']

    5、第五种(最常用)

    for l in f:
        print(l.strip())
    apple 10 3
    tesla 100000 1
    mac 3000 2
    lenovo 30000 3
    chicken 10 3

    三、rb

    'rb'
    #1. 打开文件的模式有(默认为文本模式):
    r ,只读模式【默认模式,文件必须存在,不存在则抛出异常】
    w,只写模式【不可读;不存在则创建;存在则清空内容】
    a, 之追加写模式【不可读;不存在则创建;存在则只追加内容】
     
    #2. 对于非文本文件,我们只能使用b模式,"b"表示以字节的方式操作(而所有文件也都是以字节的形式存储的,使用这种模式无需考虑文本文件的字符编码、图片文件的jgp格式、视频文件的avi格
    注:以b方式打开时,读取到的内容是字节类型,写入时也需要提供字节类型,不能指定编码
     
     
    'rb'
    b:图片、视频
    传输:上传,下载
    a、追写
     
    四、‘+’
    #r+   可读可写:
      #1、先读后写:写是追写
      #2、先写后读:从头开始写
     
    w+  可写可读
      seek:光标的移动

    ###  一般情况下:文件操作,要么读,要么写,很少会用到读写、写读同时用的

        常用的:

        r、w、a

        rb、wb、ab。不需要指定编码了

    五、光标的移动

    1、read

      1. 文件打开方式为文本模式时,代表读取3个字符

      2. 文件打开方式为b模式时,代表读取3个字节

    2、其余的文件内光标移动都是以字节为单位如seek,tell,truncate

    注意:

      1. seek有三种移动方式0,1,2,其中1和2必须在b模式下进行,但无论哪种模式,都是以bytes为单位移动的

    f.seek(0)   移动到最开始

    f.seek(0,2)移动到末尾

      2. truncate是截断文件,所以文件的打开方式必须可写,但是不能用w或w+等方式打开,因为那样直接清空文件了,所以truncate要在r+或a或a+等模式下测试效果

        

  • 相关阅读:
    c++中重载、重写、覆盖的区别
    c++值传递,指针传递,引用传递以及指针与引用的区别
    c/c++中static与extern关键字介绍
    Typedef和#define之间的区别
    c++中sizeof()的用法介绍
    c++笔试题:不使用第三个变量来交换俩个变量的数值
    c++位运算符介绍
    3.高并发教程-基础篇-之分布式全文搜索引擎elasticsearch的搭建
    2.高并发教程-基础篇-之nginx+mysql实现负载均衡和读写分离
    1.高并发教程-基础篇-之nginx负载均衡的搭建
  • 原文地址:https://www.cnblogs.com/jassin-du/p/7754542.html
Copyright © 2020-2023  润新知