zoukankan      html  css  js  c++  java
  • python学习的第八天文件处理part2

    打开文件的模式有三种纯净模式:r(默认的) w a

    # 控制操作文件内容格式的两种模式:t(默认的) b
    # 大前提: tb模式均不能单独使用,必须与纯净模式结合使用
    # t文本模式:
    # 1. 读写文件都是以字符串为单位的
    # 2. 只能针对文本文件
    # 3. 必须指定encoding参数
    # b二进制模式:
    # 1.读写文件都是以bytes/二进制为单位的
    # 2. 可以针对所有文件
    # 3. 一定不能指定encoding参数

    # 二 打开文件模式详解

    #1. w只写模式: 在文件不存在时会创建空文档,文件存在会清空文件,文件指针跑到文件开头
    # 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 ')

    # lines=['1111','22222','33333']
    # for line in lines:
    # f.write(line)
    # f.writelines(lines)

    用编码写出用户注册功能:

    # new_name = input('请输入名字: ').strip()
    # new_pwd = input('请输入密码: ').strip()
    # write_file=open(r'file', mode='at',encoding='utf-8')
    # info='%s:%s
    ' %(new_name,new_pwd)
    # write_file.write(info)

    #2. r只读模式: 在文件不存在时则报错,文件存在文件内指针直接跳到文件开头
    # with open('a.txt',mode='rt',encoding='utf-8') as f:
    # print(f.readlines()

    用编码写出用户登录功能:

    name = input('请输入你的名字: ').strip()
    pwd = input('请输入你的密码: ').strip()
    with open(r'D:临时文件作业.txt', mode='rt', encoding='utf-8') as f:
        for line in f:
            x, y = line.strip('
    ').split(':')
            if name == x and pwd == y:
                print('登录成功')
                break
        else:
            print('账号或密码错误')

    用编码写出拷贝功能:

    file1 = input('请输入原路径: ')
    file2 = input('请输入目标路径:')
    with open(r'%s' % file1, mode='rb') as f1, 
            open(r'%s' % file2, mode='ab') as f2:
        for line in f1:
            f2.write(line)

    用with....as..写文件操作,会自动关闭操作系统中的内存

  • 相关阅读:
    开端
    springboot打包失败
    CONCAT_WS函数
    关于使用|作为分隔符
    JSONArray数组
    Math.ceil(double)向上取整
    $.unique(array)数组去重
    觉得没有问题,却始终没有按照预想的走的问题
    关于mouseover与mouseout以及mouseleave和mouseenter
    关于网页元素定义click事件,点击一次触发两次问题解决办法
  • 原文地址:https://www.cnblogs.com/ye-hui/p/9683230.html
Copyright © 2011-2022 走看看