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

    • 文件操作

    基本操作

    1 f = open('lyrics') #打开文件
    2 first_line = f.readline()
    3 print('first line:',first_line) #读一行
    4 print('*******'.center(50,'-'))
    5 data = f.read()# 读取剩下的所有内容,文件大时不要用
    6 print(data) #打印文件
    7  
    8 f.close() #关闭文件
    f=open('yesterday',encoding='utf-8')#文件句柄
    
    for line in f:
        print(line)
    f.close()

    打开文件的模式:

    • r,只读模式(默认)
    • w,创建模式(不可读;文件不存在则创建;存在则删除内容
    • a,追加模式(可读;    文件不存在则创建;存在则只追加内容

    "+" 表示可以同时读写某个文件

    • r+,可读写文件(可读;可写;可追加)
    • w+,写读
    • a+,同a

    "U"表示在读取时,可以将 自动转换成 (与 r 或 r+ 模式同使用)

    • rU
    • r+U

    "b"表示处理二进制文件(如:FTP发送上传ISO镜像文件,linux可忽略,windows处理二进制文件时需标注)

    • rb
    • wb
    • ab

    with语句

    为避免打开文件后忘记关闭,可以通过管理上下文

    with open('yesterday','r',encoding='utf-8') as f:
        for line in f:
            print(line)
    #当代码执行完毕时,内部会自动关闭并释放文件资源

    同时可以对多个文件的上下文进行管理

    with open('log1') as obj1, open('log2') as obj2:
        pass

    其他

    f=open('yesterday',encoding='utf-8')#文件句柄
    
    #打印当前位置(按字符计数)
    print(f.tell())
    
    #回到x位置
    f.seek(0)
    
    #打印文件编码
    print(f.encoding)
    
    #打印文件名字
    print(f.name)
    
    #是否为终端设备
    print(f.isatty())
    #
    把文件从内容buffer里强制刷新到硬盘

    print(f.flush())
    #截断 
    f.truncate(10)
  • 相关阅读:
    子类构造函数中调用虚函数问题验证
    socks5代理浅识
    关于C++标准库(第2版)std::remove_if的"特性"概述
    动态获取结构体中指定的属性值
    构造和析构函数定义为私有场景
    remove_pointer使用测验
    广播自定义消息实现进程间的通信问题
    遍历窗口权限问题
    嵌入窗口到桌面的问题
    实验一 熟悉实验环境
  • 原文地址:https://www.cnblogs.com/q1ang/p/8870394.html
Copyright © 2011-2022 走看看