day08 跟着太白老师学python 文件操作

文件操作初识:

1. 文件路径 :d:/护士主妇空姐联系方式  (文件路径不要太过复杂,容易碰到转义字符的问题, 当碰到转义字符时,需要在前面+r,或者采用双斜杠(//))

2. 编码方式 :utf-8, gbk, gb2312

3.操作方式: 只读(r),只写(w), 写读(r+), 读写(w+), 追加(a), 追加读(a+)

1. 读

r     只读模式,适合文字类文件, open的默认方式

rb   非文字类文件的只读方式

r+  读写功能,先读后写时,写入的字符在文件最后,直接写入,由于光标在开头,将会将开头的字符覆盖

只读的后续操作方式有5种

f = open('d:/老男孩.txt', encode='utf-8', mode='r')
1.f.read()  所有都能够一次性读取,保留原来格式

2.f.read(n)  读取部分,对于文本,n以字符串个数表示, 对于非文本, n以字节个数表示,对于utf-8,一个字符用三个字节表示

3.f.readlines() 读取所有文本,读取的文本以字节形式储存在列表中

4.f.readline() 只读取一行
5.for循环读取  for line in f:  print(line)

2. 写

w  只写模式, 适合文字类文件的写入, 文件不存在,创建文件, 文件存在时,清空文件,并写入

wb    非文字类文件的写入

w+ 读写模式,因为在打开文件时,文件内容就被清空,如果此时进行读的话,读出来的是空白,所以这种方法没什么用

3.追加

a  追加模式, 适合文字类文件的追加, 文件不存在,创建文件, 文件存在时,就追加在文件的末尾

ab  非文字类文件的追加,通常在图片,用于bytes类型

a+ 追加读    和 w+ 读效果是一样的

4.文件操作的其他方法

read()  (上面已经提过)

write()

close() 关闭文件

seek()  ......设置标志位 seek(0, 2) 将标志位放到文件的末尾  以字节进行计算

tell()      返回文件的当前标志位  字节计算

readable()    判断是否可读

writeable()    判断是否可写

trucante()     进行截取, 读取的方式必须是可写方式,因此我们需要使用a+,或者 r+,不能使用w模式,因为一打开文件就被清除了

5.小练习:

1. 图片的复制

#文件复制 #非文字文件类型的编码方式是字节类型
f = open('美女1.jpg', mode='rb')
f1 = open('美女3.jpg', mode='wb')
content = f.read()
f1.write(content)
f.close()
f1.close()

2. 文本文件的修改

import os
with open('文件操作3', encoding='utf-8', mode='r') as f, \
open('新文件操作3', encoding='utf-8', mode='w') as f1:
for line in f:
line = line.replace('南方', '北方') #字符替换
f1.write(line) os.remove('文件操作3') #删除原文件
os.rename('新文件操作3', '文件操作3') #命名新文件为原文件
上一篇:__call、__set 和 __get的用法


下一篇:memcached单点故障与负载均衡