python之文件操作
文件操作初识
护士空姐学生少妇联系方式.txt
Python代码
path 文件路径:d:\护士空姐学生少妇联系方式.txt
encoding 编码方式:utf-8,gbk....
mode 操作方式: 只读,只写,追加,读写,写读.....
路径: 绝对路径:从根目录开始一直找到文件。
相对路径: 从当前目录开始找到的文件。
#凡是带b不用encoding
#只有是r模式 mode='r'可以省略不写
读模式
r
read()
f1 = open('护士学生空姐班主任1.txt', encoding='utf-8') #读模式可以不写 mode =“r” print(f1.read()) f1.close()
f1 = open('护士学生空姐班主任1.txt', encoding='utf-8')
print(f1.read(3))
f1.close() # r模式:read(n) n 是按照字符读取。
readline() 按行读取
f1 = open('护士学生空姐班主任1.txt', encoding='utf-8') print(f1.readline()) #每次只能看一行 print(f1.readline()) print(f1.readline()) print(f1.readline()) f1.close()
readlines() 返回一个list 里面的元素是每一行。
f1 = open('护士学生空姐班主任1.txt', encoding='utf-8') print(f1.readlines()) for line in f1.readlines(): print(line) f1.close()
# 输出
['葫芦娃大战金刚狼\n', '第一回。\n', '第二回。\n', '第三回。']
for 循环去读取。
f1 = open('护士学生空姐班主任1.txt', encoding='utf-8') for line in f1: print(line) f1.close()
r+ 读写,先读后写
f1 = open('护士学生空姐班主任1.txt', encoding='utf-8', mode='r+') print(f1.read()) f1.write('\n666') f1.close()
rb 非文字类的文件 转化bytes
f1 = open('护士学生空姐班主任1.txt',mode='rb') print(f1.read()) #b'\xe8\x91\xab\xe8\x8a\xa6\xe5\xa8\x83 f1.close()
w
w:没有文件,创建文件写内容。 当前路径
w:如果有文件,清空原文件,写入新内容。
f1 = open('log1', encoding='utf-8', mode='w') f1.write('老男孩是最好的培训学校...') f1.close()
w+ 先写后读
f1 = open('log1', encoding='utf-8', mode='w+') f1.write('老老男孩.....') f1.seek(0) # 调整光标 print(f1.read()) f1.close()
wb
f1 = open('log2', mode='wb') f1.write('法国进口分类结果'.encode('utf-8')) f1.close()
a
a:没有文件,创建文件写内容。
f1 = open('log3', encoding='utf-8', mode='a') f1.write('barry') f1.close()
a+:有文件,直接在原文件的后面追加新内容。
f1 = open('log3', encoding='utf-8', mode='a+') f1.write('范德萨急功近利开发工具') f1.seek(0) # 把光标调整到1的位子 print(f1.read()) f1.close()
ps 非文字的文件的读取写入
f1 = open('11.jpg', mode='rb') content = f1.read() print(content) f1.close() f2 = open('小猪佩奇.jpg', mode='wb') f2.write(content)
文件的改
1,打开原文件 old_file,将原内容读取到内存。
2,创建一个新文件new_file。
3,将原内容通过你改写形成新内容,写入到新文件。
4,将原文件删除。
5,将新文件重命名成原文件。
-------
alex是老男孩python发起人,创建人。
alex其实是人妖。
谁说alex是sb?
你们真逗,alex再牛逼,也掩饰不住资深屌丝的气质。
----------
import os with open("D:\mypython\\a.txt",encoding="utf-8") as f1,\ open("D:\mypython\\a1.txt",encoding="utf-8",mode="w") as f2: for i in f1: i1 = i.replace("alex","SB") f2.write(i1) os.remove("D:\mypython\\a.txt") os.rename('D:\mypython\\a1.txt', 'D:\mypython\\a.txt')