文件处理

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

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

原文地址:https://www.cnblogs.com/pythonwl/p/12487539.html