• Python-读写文件


    一、读写文件思路:

    1、打开文件

    2、对文件进行读/写   三种模式:r w a,默认用r

    3、关闭文件

    二、打开文件

    open()

    1、有没有清空以前的内容

    2、能不能读到东西

    3、文件不存在的时候会不会报错

    # open(r'e:user
    iuhanyangxxxxa.txt',)#原字符

    有路径的话,用r

    三、读文件

    文件名称为“文件读写”,

    文件内容为:“哈哈哈 呵呵呵 哟哟哟”,分行显示。

    读文件内容代码如下:

    1、读取文件里面的所有内容

    f = open(r'文件读写',encoding='utf-8')
    #
    print('read',f.read())# 获取文件里面的所有内容
    # read 哈哈哈
    # 呵呵呵
    # 哟哟哟

    2、读取文件内一行的数据

    f = open(r'文件读写',encoding='utf-8')
    print('readline',f.readline())# 读取文件一行的数据
    # readline 哈哈哈

    3、获取文件里面所有的数据,每一行的数据放到一个list里面

    f = open(r'文件读写',encoding='utf-8')
    print('readlines',f.readlines())# 获取文件里面所有的数据,每一行的数据放到一个list里面
    # readlines ['哈哈哈
    ', '呵呵呵
    ', '哟哟哟
    ']

    四、写文件

    1、写完文件后需要读文件时,需要将文件指针移动到最前面,使用f.seek(0)

    f = open(r'文件读写','a+',encoding='utf-8')
    f.write('adbceww')
    f.seek(0)#移动文件指针到最前面
    print(f.read())
    # 哈哈哈
    # 呵呵呵
    # 哟哟哟
    # adbceww

    2、传一个list,然后把list里面的每一个元素写入到文件中

    f = open(r'文件读写','a+',encoding='utf-8')
    names = ['lxy
    ','zyf
    ','zxd
    ','lcs
    ']
    # for name in names:
    #     f.write(name+'
    ')  
    f.writelines(names) #传一个list,然后把list里面的每一个元素写入到文件中,但是元素必须是str类型
    f.seek(0)#移动文件指针到最前面
    print('read',f.read())
    f.close()#关闭文件
    # 输出结果:
    # read 哈哈哈
    # 呵呵呵
    # 哟哟哟lxy
    # zyf
    # zxd
    # lcs

    文件打开的三种模式:

    # 文件打开的三种模式:只读模式、 写模式、 追加模式

    #                       r        w
    # 只能读 会覆盖以前文件里面的
    # 不能写 内容,不能读
    # 文件不存在会报错 文件不存在,会创建文件

    # 读写模式 r+ 打开不存在的文件时也会报错
    # 写读模式 w+
    # 只要和r有关的,文件不存在肯定会报错(即r、r+打开不存在的文件都会报错)
    # 只要和w有关的,文件内容肯定会被清空

    a只能读不能写

    # 追加模式 a+
    # 能读,能写,不会清空以前的内容,文件不存在会创建
    r、r+打开不存在的文件都会报错,r、r+只能读不能写,写会出问题


    names = ['fd','lhy','hzy','wq']
    new_name = '
    '.join(names)
    f.write(new_name)
    f.close()
    numbers = [1,2,3,4,56]
    for index in range(len(numbers)):
        numbers[index] = str(numbers[index])
    print(numbers)
    f.writelines(numbers)
    f.close()

     在文件内容的开始写入内容要怎么做:

    方式一(繁琐):

    f = open('a.txt','a+',encoding='utf-8') #三种模式
    f.seek(0)
    result = f.read()
    new_result = 'aaaaa'+result
    f.close()
    f2 = open('a.txt','a+',encoding='utf-8') 
    f2.write(new_result)
    f2.close()

    方式二:

    f = open('a.txt','a+',encoding='utf-8') #三种模式
    f.seek(0)
    result = f.read()
    new_result = result.upper()
    f.seek(0)# 清空文件内容之前要将指针放在最前面
    f.truncate() #清空文件内容
    f.write(new_result)
    f.close()
    练习题:
    #   reg.py
    #1、注册的时候还要校验用户是否存在,账号密码存在在文件里面
        #输入为空的
        login.py
    #2、登录的时候从里面存账号密码的文件里面获取到账号密码,然后判断
        #需要校验用户是否存在
        #输入为空的
     
  • 相关阅读:
    mongodb06---索引
    mongodb05---游标
    mongo04---基本查询
    mysql06---权限控制
    mysql05---游标
    使用 inotifywait的方式监控文件夹发生变化后自动执行脚本的方法
    ubuntu18.04 安装wine以及添加mono和gecko打开简单.net应用的方法
    Android之Socket群组聊天
    史上最完整的Android开发工具集合
    Android SurfaceView使用详解
  • 原文地址:https://www.cnblogs.com/Noul/p/9156125.html
Copyright © 2020-2023  润新知