• 文件处理


    头文件:可以简单输入命令执行文件

    针对Linux ./ t.py
    #!加Python的路径,
    也可以
    #!/usr/bin/env python
    env 环境变量要配置好
    

    文件处理:

    open方法参数:

    内容模式:
    wt,wb,rt,rb,at,ab
    t:文本
    默认模式
    读写都是以字符串(Unicode)为单位,要想存入硬盘,要指定编码方式,
    encoding = 'utf-8'

    b:二进制/bytes

    读写模式:

    r(默认模式)
    读的文件不存在,报错
    f.read() # 读取全部
    注意指针的位置
    for i in f:
    l.strip(' ') # 取出空白字符(' ',' ',' '),所以不加参数也可
    print(i,end = '') #打印每一行,文件内有换行,打印也有换行

    w
    只写模式
    文件不存在,创建文件
    文件存在,先清空文件,再写入
    文件打开,连续写,不会覆盖
    指针位置不断移动,继续写入

    a
    只追加写模式
    文件不存在,创建文件
    文件存在,指针移动到文件末尾,追加内容

    +:
    r+ 可读可写
    指针在开头
    覆盖,写
    w+ 可读可写
    指针在开头
    写入后,再读,指针在最后,所以,没有内容,要移动指针
    a+
    指针在最后,直接读,没内容,写了后,没内容,要移动指针

    基本操作流程:打开文件,读写文件,关闭文件

    rawstring
    r:针对路径中的转义字符,
    用/代替

    open对文件的操作
    首先,第一个参数是文件的路径,第二个参数是读写的模式,第三个参数是编码格式,有以下形式:

    f = open(r'路径',mode = 'r',encoding = 'utf-8')
    o = f.read()
    f.close()

    with open(r'path',mode = 'r',encoding = 'utf-8') as f :
    wc_gw = f.read()

    with open(r'path',mode = 'r',encoding = 'utf-8') as f , open(...) as f1:
    wc_gw = f.read()

    with open(r'path',mode = 'r',encoding = 'utf-8') as f ,
    open(...) as f1:
    wc_gw = f.read()
    x : 只写模式,不存在,创建,存在 ,报错
    U模式
    t 只能处理文本

    b :
    不能指定编码格式。
    图片,视频都是以 为换行

    b:write(b'英文')
    write('中文'.encode(编码))
    bytes('中文',encoding = '编码')

    while True:
        l = f.read(1024)
        if l:
            print(l)
        else:
            break
    

    readline :读一行
    readlines :读很多行,读取到列表中
    read(1024):指定字节

    writelines():把列表的元素写入文件

    flush:
    f.write()
    f.flush()
    积累一定程度,然后处理,flush立即执行。尽量不用

    readable()
    writeable()

    closed
    encoding
    name

    seek()
    控制文件指针移动
    以字节为单位
    seek(n,模式)
    模式:
    0:从头开始,仅限于t模式
    1:从当前位置开始
    2:从末尾开始,倒着移动 -1

    tell() # 获取指针当前位置
    t模式,read(n),以字符为单位

    文件修改
    硬盘上的覆盖操作,硬盘不是修改,内存可以修改

    一次性修改
    一次性读出,修改,写入

    每行修改
    修改一行写入新文件,然后删除源文件,重命名新文件
    新文件:.c.txt.swap

  • 相关阅读:
    最简单,小白易上手 ajax请求数据库信息,echarts页面显示,无需跳转servlet
    北京市民信件大数据简单分析可视化(附加源码) 同含爬虫代码
    echart 横轴 上下分开显示
    echart 横轴倾斜
    echarts 柱状图横轴(x轴)数量太多,可以加一个滚动轴
    错误: 找不到或无法加载主类 org.apache.sqoop.Sqoop
    JAVA爬虫——爬取采集北京市政百姓信件内容——首都之窗(采用htmlunit,webmagic)附源代码、htmlUnit webmagic JAR包
    eclipse 中的DFS Location 找不到了(已解决)
    在Scala 中 val 与 var 的区别(言简意赅 小白易懂 实例代码)
    第21届国际足联世界杯观后感
  • 原文地址:https://www.cnblogs.com/pythonwl/p/12487539.html
Copyright © 2020-2023  润新知