7.11 day8

1. r 只读

f = open('santa', mode='r', encoding='utf-8')
# santa是相对路径,同⼀个⽂件夹下的⽂件. 相对于当前这个程序所在的⽂件夹⽽⾔. 如果在同⼀个⽂件夹中. 则相对路径就是这个⽂件名. 如果在上⼀层⽂件夹. 
# 则要../
f句柄 'santa'文件名 mode='r'打开类型 'r'只读, encoding解码类型 s = f.read() f.close() print(s)

 

2. w 只写

# 如果没有⽂件. 则会创建⽂件, 如果⽂件存在. 则将原件中原来的内容删除, 再
# 写入新内容
f = open('Lost Canvas', mode='w', encoding='utf-8')
f.write('亚伦')
f.flush()
# 写入要刷新
f.close()

 

3. a 追加

在追加模式下. 我们写入的内容会追加在⽂件的结尾.

f = open('Lost Canvas', mode='a', encoding='utf-8')
f.write('天马')
f.flush()
f.close()
# 在Lost Canvas文件的最后加上天马

 

4. r+
读写模式.
需要移动光标进行反复读写

with open('Lost Canvas', mode='r+', encoding='utf-8') as f:
    f.seek(0) # f.seek光标位置 read从光标处开始读
    s = f.read()
    f.write('萨沙')
    print(s)

 


5. w+ 写读

先将所有的内容清空. 然后写入. 最后读取. 但是读取的内容是空的

6. a+ 追加读

a+模式下, 不论先读还是后读. 都是读取不到数据的.


7. b bytes 读写操作的是字节. 用在非文本上
8. seek() 移动光标到xx位置
开头: seek(0), 末尾: seek(0,2)

9. 文件修改
创建新文件. 把修改后的内容写入新文件. 删除老文件. 重命名新文件
import os
os.remove("")删除文件
os.rename("源文件", "新文件名") 重命名文件

 

import os
with open('santa', mode='r', encoding='utf-8') as f1,\
     open('santa_new', mode='w', encoding='utf-8') as f2:
    for line in f1:
        new_line = line.replace('庐山升龙霸', '银河星爆')
        f2.write(new_line)
os.remove('santa')
os.rename('santa_new', 'santa')

 

for line in f:
line 一行数据

with open("文件名") as f:
不需要关闭文件句柄

posted @ 2018-07-11 16:36  smdfcy  阅读(70)  评论(0编辑  收藏  举报