加b的区别
r,w的方式就是读写纯文本
rb,wb是读写各种内容,以二进制的方式
read
read(“path”,“r”)默认是r
假设文本为
aaa
bbb
stream = open("test.txt")
container = stream.read()
print(container)
结果
aaa
bbb
readable
是否可以读取
result = stream.readable()
print(result)
结果
True
readline
读取一行
line = stream.readline()
print(line)
结果
aaa
readlines
读取多行
lines = stream.readlines()
print(lines)
结果在列表里
["aaa","bbb"]
write
read(“path”,“w”)默认是w
stream = open("test.txt", "w")
# a 追加
s = """
aslnfdov fdknvb
jn
"""
stream.write(s)
stream.write("rfffff")
stream.writelines(['rfffff\n', 'ssss\n', 'dddd\n'])
stream.close()
这种方式会覆盖源文件,如果没有目录会自动创建,只要不close就可以一直输入,结果为
aslnfdov fdknvb
jn
rfffff
writelines
直接插入多行
stream = open("test.txt", "w")
stream.writelines(['rfffff\n', 'ssss\n', 'dddd\n'])
stream.close()
结果
rfffff
ssss
dddd
追加方式
用a,这样不会覆盖原文件
stream = open("test.txt", "a")
with
使用with避免忘记close,可以自动释放,例子
with open("test.txt","rb") as f:
txt = f.read()
文件复制
将test文件复制到test2
with open("test.txt", "rb") as f:
txt = f.read()
with open("test2.txt", "wb") as w:
w.write(txt)