语法 :python
f=open("文件",mode="模式",encoding="编码")安全
注意 : 使用原生字符能够解决\的问题,在"文件"前加r)网络
# 不使用r时 f=open("D:\\Git\\Git存储\\学习.txt",mode="r",encoding="UTF-8") # \\用来和python中的一些关键字作区分,不用\\表示可能会出错 --------------------------------- # 使用r时 f=open(r"D:\Git\Git存储\学习.txt",mode="r",encoding="UTF-8") # 此时的r是repr的简称,repr做用是保持原始状态消除关键字功能.
r w a 操做的都是文本app
读 : r (读后光标会移动到最后)学习
写 : w a (w时没有文件建立文件,有文件分两步,先清空在写入)编码
r+(读写),w+(写读),a+(追加写读)操作系统
rd r+d wb w+bab 操做非文本文件code
读取本地非文本文件时,读方式和操做读文本方式同样,只须要注意文件类型而且操做方式改为rd便可ip
f = open("1.jpg",mode="rb") print(f.read()) # read() 所有读取 print(f.read(3)) # 字节
下载并保存网络文件时,须要调用import requests,实例以下内存
import requests ret=requests.get("http://www.521609.com/uploads/allimg/151124/1-1511241G251317.png") f = open("2.jpg",mode="wb") f.write(ret.content) f.close()
f.tell() # 查看光标所在的字节位置,会有返回值,返回值就是当前光标的位置
f.seek(偏移量,位置) # 移动光标字节位置
偏移量 : 按照字节来算,与所用的文件编码有关.
位置 : 0表明开头位置,1表明当前位置,2表明末尾位置
seek(0,0) # 文件开始位置 seek(0,1) # 光标的当前位置 seek(0,2) # 文件末尾位置 seek(3) # 按照字节调节,使用utf-8汉字是3,gbk汉字是2
绝对路径 : 从磁盘的跟处查找
相对路径 : 相对于当前文件进行查找,../表明上一级,查看当前工做路径调用 import os
import os print(os.getcwd()) # 查看当前工做路径
运用for迭代方式直接对f进行迭代读取,不会由于文件过大,撑爆内存.
f=open("文件",mode="模式",encoding="编码") for i in f:
语法 :
with open("文件路径1",mode="操做方式",encoding="编码方式") as f1, open("文件路径2",mode="操做方式",encoding="编码方式") as f2 :
lis=[] num=1 with open("a1",mode="r",encoding="utf-8") as f: for r in f: # 注意缩进 dic = {} lis1=r.strip().split(" ") if num==1: lis2=lis1.copy() else: for i in range(len(lis2)): dic[lis2[i]]=lis1[i] lis.append(dic) num+=1 print(lis)
做用 :