zoukankan      html  css  js  c++  java
  • python 文件(file)操作

    操作文件的一般流程有:

    打开文件、文件处理、关闭文件

    开开文件的模式有:

    • r,只读模式(默认)。
    • w,只写模式。【不可读;不存在则创建;存在则删除内容;】
    • a,追加模式。【不可读; 不存在则创建;存在则只追加内容;】
    "+" 表示可以同时读写某个文件
    • r+,可读写文件。【可读;可写】 不能创建,覆盖相同的字符写入
    • w+,写读。【文件不存在创建,存在先清空后写入】
    • a+,追加读写。【可读,追加写,默认光标在最后,读取可以用f.seek(0)移动到文件开头进行读取,但是写不能,写的时候光标会自动移动到最后面进行写】
     
    "U"表示在读取时,可以将 自动转换成 (与 r 或 r+ 模式同使用)
    • rU
    • r+U

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

    • rb
    • wb
    • ab

    基本操作:

    f = open(filename, 'r', encording='utf-8')
    first_line = f.readline()
    rest_data = f.read()  # 读取剩下的所有内容,文件大时不要用
    f.write('lastline')
    f.close             # 关闭文件

    所有操作:

    f.readlines()   # 返回一个列表,列表的元素为每行的字符,包括换行符
    f.tell()        # 返回当前光标所在的字符个数(从最前面开始)
    f.seek(0)       # “光标” 跳转到文件开头
    f.truncate(5)    # 截断操作,不管光标的当前位置,从文件开始位置数5个字符后去掉后面的字符,必须用r+权限
    f.fileno()      # 文件标识符
    f.read()        # 注意,不一定能全读回来
    f.write(str)    # 写入字符串
    f.readinto()    # 不要用
    f.readall()     
    
    f.readable()    # 是否可读
    f.seekable()    # 光标是否可跳转
    f.writeable()   # 是否可写
     
    with 语句,为了避免打开文件后忘记关闭,可以通过管理上下文
    with open(filename1, 'r', encoding='utf-8') as f1,
            open(filename2, 'w', encoding='utf-8') as f2,
            pass

    循环文件内容:

    # 循环文件,低效率,内存需要保留所有数据
    for index, line in enumerate(f.readlines()):
        print(index,line)
    
    # 循环文件,高效率, 内存只保留一行数据
    for line in f
        print(line)
  • 相关阅读:
    怎么产生一个随机数
    C# 算速表达式
    Wpf OpenFileDialog
    完美世界自动更新程序
    只容许程序运行1个实例
    WPF 同一个程序 只允许 同时运行一个
    13 引用WINAPI
    winform窗体跟随窗体
    C#如何检测一个字符串是不是合法的URL
    WPF 下载网络文件 带进度条
  • 原文地址:https://www.cnblogs.com/tjuyuan/p/6796349.html
Copyright © 2011-2022 走看看