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

    1. 文件操作
    open 打开
    f = open(文件路径, mode="模式", encoding="编码格式") 最最底层操作的就是bytes
    打开一个文件的时候获取到的是一个文件句柄.

    绝对路径
    从磁盘根目录开始寻找
    相对路径
    相对于当前程序所在的文件夹
    ../ 上一层文件
    文件夹/ 进入xxx文件夹

    2. mode:
    r: 读取,只读.
    读取文件的相关操作
    1. read()
    默认: 读取文件内容(全部)
    read(n) 读取n个字符
    2. readline() 读取一行
    3. readlines() 读取全部. 返回列表
    (最重要)4. for line in f: 每次读取一行内容
    w:
    写入. 只写
    创建文件
    会清空文件
    a:
    也可以创建文件
    追加写
    r+: 对于文件而言. 应该有的操作就两个:读, 写
    读写操作
    w+:
    写读操作
    a+:
    追加写读

    所有带b的表示直接操作的是bytes, 当处理非文本文件的时候.
    rb
    wb

    ab: 断点续传

    r+b
    w+b
    a+b

    3. 文件操作中关于文件句柄的相关操作
    seek() 移动光标
    f.seek(0) 移动到开头(最多)
    f.seek(0, 2) 移动到末尾
    seek:两个参数
    1. 表示偏移量
    2. 从xxx开始偏移, 默认0, 开头 1, 当前位置 2, 末尾

    tell
    返回光标所在的位置

    文件复制_Bytes
    f1 = open("c:/huyifei.jpg", mode="rb")
    f2 = open("d:/huerfei.jpg", mode="wb")

    for line in f1: # line是从f1中读取的内容
    f2.write(line) # 把读取的内容原封不动的写出去

    f1.close()
    f2.flush()
    f2.close()

    需求: 把好人换成sb
    必须:
    1. 先从文件中读取内容
    2. 把要修改的内容进行修改
    3. 把修改好的内容写人一个新文件
    4. 删除掉原来的文件
    5. 把新文件重命名成原来的文件的名字
  • 相关阅读:
    HDU 2844 Coins(多重背包)
    HDU 4540 威威猫系列故事——打地鼠(DP)
    Codeforces Round #236 (Div. 2)
    FZU 2140 Forever 0.5
    HDU 1171 Big Event in HDU(DP)
    HDU 1160 FatMouse's Speed(DP)
    ZOJ 3490 String Successor
    ZOJ 3609 Modular Inverse
    ZOJ 3603 Draw Something Cheat
    ZOJ 3705 Applications
  • 原文地址:https://www.cnblogs.com/wangpanger/p/10073510.html
Copyright © 2011-2022 走看看