zoukankan      html  css  js  c++  java
  • Python 基础第8天(文件管理)

    今天主要内容

    文件操作相关命令

    1.什么是文件操作

    通过python的相关方法,对文件内的数据进行读,写,追加的操作,并且通过更改编码方式等操作方便查看内容.

    方式:

    f = open('路径,''编码类型','操作')

    f:变量,f_obj,file,f_handler,...文件操作专有名词:文件句柄

    open windows的系统功能

    路径为(1)绝对路径(2)相对路径

    编码类型:windows默认编码方式:gbk,linux默认编码方式utf-8 (encoding)

    操作:对要打开的文件进行操作,打开文件,生成文件句柄,然后对文件句柄进行操作,mode = ''

    执行动作(打开方式):只读,只写,追加,读写,写读....

     

    例:

     

    f = open('F:练习1.txt',encoding='gbk',mode='r')
    jd = f.read()
    print(jd)
    f.close()

    mode =  'r', 'rb', 'r+', 'r+b'

    五种只读的方式:

    f = open('F:练习1.txt',encoding='gbk',mode='r')
    jd = f.read()
    print(jd)
    f.close()

    f.read() :全部读到内存中

     

    f = open('F:练习1.txt',encoding='gbk',mode='r')
    print(f.readline())

    print(f.readline())

    print(f.readline())

    print(f.readline())
    f.close()

    f.readline():根据文件内的换行符,一行一行读出来

     

    f = open('F:练习1.txt',encoding='gbk',mode='r')
    print(f.readlines())
    f.close()

    f.readlines():将原文件的每一行作为一个列表元素,放到list中

     

    f = open('F:练习1.txt',encoding='gbk',mode='r')
    print(f.read(4))
    f.close()

    f = open('F:练习1.txt',encoding='gbk',mode='rb')
    print(f.read(4))
    f.close()

    f.read(n):读取一部分

    # 在r模式下,read(n)按照字符去读取。

    # 在rb模式下,read(n)按照字节去读取。

     


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

    5.循环读取数据,

    即将文件句柄f看做是一个可迭代的对象,使用for进行循环内部是元素.文件内部以换行符进行行的分割.

     

    =========================================================

    (1)r,只读。
    #文件以什么编码方式存储的,就以什么编码方式打开。

    (2)rb,只读,以bytes类型读取。

    #非文字类的文件时,用rb,省略encoding类型

     

    (3)r+ 先读,后追加 一定要先读后写,否则程序出错

    错误的操作:

    (4) r+b :用bytes形式,对文件进行先读后写的操作

    例:

    写操作:

    (1)w :没有文件,创建一个文件写入内容,有文件,将原文件内容清空,在写入内容

     

    (2)wb:用法与rb相似

     

     (3)w+ 先写后读。

    (4)w+b 用bytes方式对文件进行先写后读操作

    追加

    (1)a 没有文件,创建一个文件追加内容,有文件,直接追加内容

    (2)ab 以bytes方式对文件进行追加操作

     (3)a+  追加读,先写入文件,然后在读出来

    (4)a+b   bytes形式的a+ 追加读,先写入文件,然后在读出来

     

     其他用法:

    f.writable #是否可写

    f.truncate()  #按字节对源文件进行截取,如果不填字节数,则显示文件内总共在设置的编码下有多少字节.

     

     

    例:  根据截取添加内容,使用truncate方法,后面输入字节数,在这个字节数后面添加新内容.

     f.tell()  按字节去读光标位置,当前光标所在位置为末尾.()内容为字节数.

    f.seek() 按照字节调整光标位置,显示后面还能符合字符标准的字符显示出来

     f.readable() 检查是否可读

    with语句:

    **with open() as f:

      print(f.read())

    功能: 1.自动关闭文件句柄   2.一次性可以操作多个文件句柄

     

    此例题展示了如何进行系统中的文件修改.

    例1

    import os

    with open('log',encoding='utf-8') as f1,
    open('log.bak',encoding='utf-8',mode='w') as f2:
    content = f1.read()
    new_content = content.replace('alex','SB')
    f2.write(new_content)
    os.remove('log')
    os.rename('log.bak','log')

    例2:

    import os
    with open('log',encoding='utf-8') as f1,
    open('log.bak',encoding='utf-8',mode='w') as f2:
    for i in f1:
    new_i = i.replace('SB','alex')
    f2.write(new_i)
    os.remove('log')
    os.rename('log.bak','log')

     

     

     

     

  • 相关阅读:
    python 类 专有方法
    当请求进入Nginx后,每个HTTP执行阶段的作用
    jquery 监听不起效果的小问题汇总
    shell 脚本中 while 只执行一次
    LVS (Linux虚拟服务器)模型及算法
    TCP 通信时序及状态变迁
    Golang 谷歌搜索api 实现搜索引擎(前端 bootstrap + jquery)
    Golang 简单 http 代理转发
    Golang 简单静态web服务器
    Golang TCP转发到指定地址
  • 原文地址:https://www.cnblogs.com/tom2ling/p/8659911.html
Copyright © 2011-2022 走看看