文件处理
头文件:可以简单输入命令执行文件
针对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('\n') # 取出空白字符('\n','\t',' '),所以不加参数也可
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 : 只写模式,不存在,创建,存在 ,报错
\r\n \n U模式
t 只能处理文本
b :
不能指定编码格式。
图片,视频都是以\n为换行
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