zoukankan      html  css  js  c++  java
  • 文件操作part2

    打开文件的三种纯净模式r,w,a

    控制操作文件内容格式的两种模式:t(默认的) b

    t/b模式只能r、w、a连用,不能单独使用。

    t模式:文本模式

      1、读写文件都是以字符串为单位的

      2、只能针对文本文件

      3、必须指定encoding参数

    b二进制模式:

      1.读写文件都是以bytes/二进制为单位

      2.可以正对所有文件

      3.一定不能指定encoding参数

    打开文件r模式详解

      1.r只读模式;当文件不存在的话直接报错,文件存在文件内的指针直接跳到文件开头

    with open(r'wdb.txt',mode='rt',encoding='utf-8') as f:
        data=f.readline(7)#从文件开头开始读,数字参数的读取当前行的字数,截取相应数字字符串,若超出的字数,直接读当前行数
        print(data)
        print(f.readline())#从上一个指针开始读,读取
    

    例子,用户认证功能(简单):

    name = input('请输入用户名:').strip()
    pwd = input('请输入密码').strip()
    with open(r'db.txt',mode='rt',encoding='utf-8') as f:
        for line in f:#循环读取单行内容,直到结束为止
            u,p = line.strip('
    ').split(':')#根据读取内容,整理出需要的内容
            if name ==u and pwd == p:#当用户名与密码都相同
                print('登陆成功')
                break
        else:#当for没有被break,则执行
            print('用户名不存在')

    w只写模式:

      1.当文件不存在的情况下创建新的文件,当文件存在时,则创建新的文件将源文件覆盖。

      文件指针依旧在开头。

    with open('b.txt',mode='wt',encoding='utf-8') as f:
        print(f.writable())
        print(f.readable())
        f.write('你好
    ')
        f.write('我好
    ') # 强调:在文件不关闭的清空下,后写的内容一定跟着前写内容的后面
        f.write('大家好
    ')
        f.write('111
    222
    333
    ')
    a只追加写模式: 在文件不存在时会创建空文档,文件存在会将文件指针直接移动到文件末尾
    注册实例
    name = input('请输入你的用户名:').strip()
    pwd = input('请输入密码:').strip()
    with open(r'db.txt',mode='at',encoding='utf-8') as f:
        f.write('%s:%s
    '%(name,pwd))

    上述模式都是t模式下操作

    b的情况下的操作:都是以二进制单位,可以读取任意文件

    拷贝工具(简单):

    src_file=input('源文件路径: ').strip()
    dst_file=input('目标文件路径: ').strip()
    with open(r'%s' %src_file,mode='rb') as read_f,open(r'%s' %dst_file,mode='wb') as write_f:
        for line in read_f:
            # print(line)
            write_f.write(line)
     
  • 相关阅读:
    TLB原理
    64寄存器位查看器
    araxis Merge
    start_KERNEL
    python 动态支持方案
    https://wenku.baidu.com/view/6142875b804d2b160b4ec06b.html 编译原理课件
    有无符号数的区别
    vim工具的路径
    edraw软件破解密钥已经上传,见文件目录
    https://tieba.baidu.com/p/2248070024
  • 原文地址:https://www.cnblogs.com/msj513/p/9682766.html
Copyright © 2011-2022 走看看