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

    一、文件操作常用的基本知识点

    1、文件路径

    1)、绝对路径:例如-"C:/Users/Administrator/Desktop/python/1.txt"

    2)、相对路径:同一个文件夹下的文件就是相对路径

    2、编码方式:GBK、UTF-8

    3、打开方式

      只读、只写、追加读写

      基本模式语法:

    #path:文件路径,mode:文件打开模式,encoding:编码方式,f:文件句柄
    f = open(path, mode, encoding)

    3.1、读:

            只读: r rb

                read  read(n)  readline()  readlines()  for循环

        rb一般用在非文字类型的文件:图片,视频
          文件的下载和上传的功能用b模式

            读写(先读,后写) r+ r+b

                一定要注意顺序,先读后写

      读的五种模式:

      1)、f.read() 全部读取出来

    f = open('d:/test.txt',mode='r',encoding='utf-8')
    content = f.read()
    f.close()   #关闭文件句柄

      2)、f.readline() 按行读取文件(一次只能读取一行)

    f = open('log', 'r', encoding='utf-8')
    line = f.readline()
    print(line)
    line1 = f.readline()
    print(line1)
    f.close()

      3)、f.readlines() 读取每一行内容作为一个元素存入列表中

    f = open('log',encoding='utf-8')    #不写,默认为r读模式
    lines = f.readlines()
    f.close()

      4)、循环读取,每次内存中只能读取一行(推荐方式)

    f = open('log', encoding='utf-8')
    for i in f:
        print(i)
    f.close()

    3.2、写:

            只写w wb

                   # w 如果没有文件,则创建文件写内容,

                   #   如果有文件则将原文件内容全部删除,在写.

            写读 w+

    # w 如果文件不存在,会创建新文件在写入,如果文件存在则会将原文件内容进行覆盖
    f = open('log','w',encoding='utf-8')
    f.write('This is a write method.')
    f.close()
    #wb的写入方式
    f = open('log','wb')
    f.write('hello'.encode('utf-8'))
    f.close()

    3.3、追加:

            只追加 a ab

            追加可读 a+ a+b

    #追加 a ab
    f = open('log','a',encoding='utf-8')
    f.write('wusir紧跟其后')
    f.close()
    # r+     r+b
    f = open('log','r+',encoding='utf-8')
    f.read()
    f.write('ABCDEF')
    f.close()
    #w+  w+b
    f = open('log','w+',encoding='utf-8')
    f.write('this is a test.')
    f.seek(0)  #移动光标位置
    print(f.read())
    f.close()
    #a+
    f = open('log','a+',encoding='utf-8')
    f.write('aaaa')
    f.tell()    #获取光标位置
    f.seek(6)   #按照字节调整
    f.close()

    3.4、常用方法:

            read readable readline readlines for循环

            seek tell write writeable

     3.5、修改文件内容的五个步骤

    import os
    #1、创建一个新文件
    #2、读取原文件
    with open('log',encoding='utf-8') as f1,
        open('log.bak','w',encoding='utf-8') as f2:
    #3、将原文件的内容通过你想要的方式进行更改,并写入新文件件
        old_content = f1.read()
        new_content = old_content.replace('hello','test')
        f2.write(new_content)
    #4、将原文件删除
    os.remove('log')
    #5、将新文件重命名原文件名
    os.rename('log.bak','log')
  • 相关阅读:
    ActiveMQ JBDC巨坑记录:java.sql.SQLException: Cannot create PoolableConnectionFactory (Communications link failure,Cannot create PoolableConnectionFactory (Communications link failure
    请求https接口时的SSLHandshakeException
    MySQL授权命令grant注意事项
    一次docker服务启动失败的总结
    zabbix-agent和zabbix-agent2的区别,zabbix-agent的主动和被动模式
    MySQL alter修改语句
    zabbix监控tcp的11种状态
    MySQL创建数据库并且插入数据
    MySQL的基础语法
    设置MySQL密码
  • 原文地址:https://www.cnblogs.com/lioushell/p/8386938.html
Copyright © 2011-2022 走看看