zoukankan      html  css  js  c++  java
  • 文件处理

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

    针对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

  • 相关阅读:
    线程中消费者生产者的实例代码(synchronized关键字)
    ThreadLocal管理Connection
    ThreadLocal的练习代码
    JDK中线程组ThreadGroup
    创建线程的三种方式
    ES练习代码
    window下在同一台机器上安装多个版本jdk,修改环境变量不生效问题处理办法
    ES配置文件中文版
    springmvc工作原理
    IE不兼容document.getElementsByClassName
  • 原文地址:https://www.cnblogs.com/pythonwl/p/12487539.html
Copyright © 2011-2022 走看看