1、文件类型
- 纯文本文件:只有文字。 对应open函数model参数为t。
- 纯文本:图片、音乐、电影等。对应open函数model参数为b。
2、文件的读取
#文件的读取
stream = open('aa.txt','rt') #返回值: stream(管道)
container = stream.read() #读取管道中的内容
print(container)
#注意:如果传递的path/filename有误,则会报错,FileNotFoundError
result = stream.readable() #判断是否可以读取 True ,False
print(result)
line = stream.readline() #读取一行
lines = stream.readlines() #读取多行,保存在列表中
#如果读取图片则不能使用默认的读取方式,mode = 'rb'
总结:
read() 读取所有内容
readline() 每次读取一行内容
readlines() 读取所有的行保存到列表中
readable() 判断是否可读的
3、文件的写入
s = '''
你好!
欢迎到澳门博彩赌场,赠送给你一个金币。
'''
result = stream.write(s)
stream.close() #关闭I/O通道
注意:
- mode是’w’,表示写。
- write(内容) 每次都会将原来的内容清空,然后写当前的内容。
- writelines(Iterable) 没有换行效果。
- 如果mode = ‘a’,不会将原来的内容清空,而是追加(append)。
4、文件复制
with open('aa.txt','rt') as stream:
container = stream.read() #读取文件内容
with open('bb.txt','wt') as wstream:
wstream.write(container)
print('文件复制完成!')
注: with 结合open使用,可以帮我们自动释放资源。
5、os模块的简单应用
with open('aa.txt','rt') as stream:
container = stream.read() #读取文件内容
print(stream.name) #打印文件的路径名
file = stream.name
filename = file[file.rfind('\\')+1:] #获取文件名
path = os.path.dirname(__file__)
path1 = os.path.join(path,filename)
注:
os.path.dirname(file) 获取当前文件所在的文件目录(绝对路径)
os.path.join(path,’’) 返回是拼接后的新路径 (用于文件夹下)