读取文件
读取文件用withopen(文件路径,读写模式)r读(默认值),w写,a追加写#读文件的几种方式:
1、read()返回文件内容,返回的是字符串
filepath = 'D:/note1.txt'
with open(filepath, 'r') as f:
print(f.read())
2、readLine()返回文件一行的内容,返回的是字符串
with open(filepath, 'r') as f:
print(f.read())
print(f.readline())
3、readlines()返回文件内容,返回的是个列表,元素中有换行符
with open(filepath, 'r') as f:
# print(f.readlines())
4、read().spLitlines()返回文件内容,返回的是个列表,元素中没有换行符
with open(filepath) as f:
print(f.read().splitlines())
绝对路径和相对路径
filepath1 = 'D:/202401auto/note1.txt' #绝对路径
filepath2='123/note1.txt' #相对路径
with open(filepath2) as f2:
print(f2.read())
文件写入
w清空写入#
filepath ='./note1.txt
with open(filepath,'w') as f:
f.write('abcdefg')
a追加写入
filepath ='./note1.txt'
with open(filepath,'a)as f:
f.write('dddddddd')
print(f.read())
print(f.read()) #w,a的模式,不支持读文件
同时读写文件
w+可以同时读写文件,找不到文件时新建,清空写入
filepath = './note4.txt'
with open(filepath, 'w+') as f:
f.write('abcdefg')#写入时,文件中的光标的位置在文件末尾,读取不到内容
print(f.tell())
f.seek(0)
print(f.tell())
print(f.read())
seek()
写入时,文件中的光标的位置在文件末尾,读取不到内容
使用seek()方法,移动光标的位置
seek(O)光标回到文件首位
seek(1)光标回到文件首位之后向右偏移1位
a+可以同时读写文件,找不到文件时新建,追加写入
filepath ='./note4.txt'
with open(filepath,'a+') as f:
f.write(ccccccccc)#写入时,文件中的光标的位置在文件末尾,读取不到内容
print(f.tell())
f.seek(0)
print(f.tell())
print(f.read())
r+可以同时读写文件,找不到文件时报错,覆盖写入
filepath = './note3.txt
with open(filepath, 'r+') as f:
f.write('abcdefg')#会报找不到文件的错误
覆盖
filepath = './note5.txt
with open(filepath, 'r+') as f3:
f3.write('A')
f3.seek(0)
print(f3.read())
filepath ='./note5.txt'
with open(filepath,'r+',encoding='utf-8') as f3:
f3.write('我')
f3.seek(0)
print(f3.read())
编码问题最好不要用中文
filepath ='D:/note2.txt" #文件路径最好是复制,不要手敲
with open(filepath, encoding='utf-8') as f: #编码方式要与文件适配,有utf-8;gbk等方式
print(f.read())
yaml文件
yaml是一种用于写配置文件的语言非常简洁和强大
YAML的意思是YetAnotherMarkupLanguage仍是一种标记语言
文件扩展名一般是yml或.yaml