zoukankan      html  css  js  c++  java
  • python note 08 文件操作

    1、相对路径与绝对路径比较

    #绝对路径

    f = open('d:pzw.txt',mode='r',encoding='UTF-8')
    content = f.read()
    print(content)
    f.close()

    #相对路径

    f = open('pzw',mode='r',encoding='utf-8')
    content = f.read()
    print(content)
    f.close()

    2、

    #对于r就是只读

    f = open('pzw',mode='rb',)
    content = f.read()
    print(content)
    f.close()

    #对于w没有文件会创建文件,有文件会将源文件的内容全部清除再写

    f = open('log',mode='w',encoding='utf-8')
    f.write('123456')
    f.close()
    f = open('log',mode='wb')
    f.write('123456'.encode('utf-8'))
    f.close()
    f = open('log',mode='w+',encoding='utf-8')
    f.write('aaa')
    print(f.read())
    f.close()
    #不显示任何内容

    #对于a为追加功能

    f = open('log',mode='a',encoding='utf-8')
    f.write('666')
    f.close()
    f = open('log',mode='ab')
    f.write('666'.encode('utf-8'))
    f.close()
    f = open('log',mode='a+',encoding='utf-8')
    f.write('666')
    f.seek(0)
    print(f.read())
    f.close()

    3、seek用来调整光标位置,utf-8编码中文占三个字节

    f.seek(3)  # 是按照字节定光标的位置

    4、tell用来告诉你光标的位置

    f.tell() 告诉你光标的位置

    5、其他

    f.readable()  # 是否可读
    line = f.readline()  # 一行一行的读
    line = f.readlines()  # 每一行当成列表中的一个元素,添加到list中

    6、注册,登录

    username = input('请输入你要注册的用户名:')
    password = input('请输入你要注册的密码:')
    with open('list_of_info',mode='w',encoding='utf-8') as f:
        f.write('{}
    {}'.format(username,password))
    print('恭喜您,注册成功')
    lis = []
    i = 0
    while i < 3:
        usn = input('请输入你的用户名:')
        pwd = input('请输入你的密码:')
        with open('list_of_info',mode='r+',encoding='utf-8') as f1:
            for line in f1:
                lis.append(line)
        if usn == lis[0].strip() and pwd == lis[1].strip():
            print('登录成功')
            break
        else:print('账号和密码错误')
        i+=1

     7、修改文件

    # 修改文件
    with open('file',encoding='utf-8') as f,open('file.bak','w',encoding='utf-8') as f2:
        for line in f:
            if '张三' in line:  #班主任:张三
                line = line.replace('张三','李四')
            #写文件
            f2.write(line) 
    
    import os
    os.remove('file') #删除文件
    os.rename('file.bak','file')  #重命名文件
  • 相关阅读:
    11.重写、抽象、接口、异常
    3.用户组、指令运行级别、帮助指令、文件目录类(一)
    2.vi和vim编辑器、vi和vim三种模式、vi和vim快捷键、关机、重启命令、用户管理
    1.VM和Linux系统(centos)安装、linux目录结构、远程登录到Linux服务器、远程上传下载文件xftp
    10.函数、流程控制
    9.变量、存储过程
    8.事务、视图
    7.库和表的管理、常见数据类型、常见约束、标识符
    CH6801 棋盘覆盖(二分图最大匹配)
    洛谷P1525 关押罪犯(二分图判定+二分)
  • 原文地址:https://www.cnblogs.com/P-Z-W/p/10546987.html
Copyright © 2011-2022 走看看