文件操作之open函数
open()可以打开一个文件,可以使用相关方法对文本文件、图片执行读取操作,或对文本执行写入。
'''open()格式:
file object = open(path\filename,mode,buffering)
1、path\filename:访问目标目录下的文件名
2、mode:决定操作文件的模式,读、写、追加等
3、buffering:表示寄存区缓存大小
'''
读取read
代码示例:
flow = open(r'D:\a.txt')
# 使用open()函数打开指定路径下的文件建立连接管道,mode默认是rt表示只读方式打开文本文件
file = flow.read()
# 使用read()方法读取打开文件的所有内容
print (file)
'''
输出结果:
Hello Python!
Hello World!
'''
flow = open(r'D:\a.txt')
while True:
line = flow.readline()
# 使用readline()方法读取打开文件中的一行内容,使用循环读取文件中的每一行内容,默认会换行
print (line)
if not line:
break
print (line)
'''
输出结果:
Hello Python!
Hello World!
'''
flow = open(r'D:\a.txt',)
liens = flow.readlines()
# 使用readlines()方法读取打开文件中的每一行内容并以列表形式存放
print (liens)
for i in liens: # 遍历列表
print (i)
'''
输出结果:
['Hello Python!\n', 'Hello World!']
Hello Python!
Hello World!
'''
写入write
代码示例:
flow = open(r'D:\a.txt','w')
# 使用open()函数打开指定路径下的文件建立连接管道,mode是w写入
s = '''
你好,Python!
'''
result = flow.write(s)
flow.write('你好,World!')
# 使用write()方法写入字符串,文件原内容会被清空,再写入,可将mode修改成a,表示追加
flow.writelines(['A\n','B\n','C\n'])
# 使用writelines()方法写入字符串,写入可迭代数据,无换行效果
flow.close()
# 使用close()关闭连接管道
文件复制
代码示例:
'''
wiht open() as 变量名,可以自动释放资源
'''
with open(r'D:\a.txt','r') as READ:
A = READ.read()
# 打开目标文件并读取内容,保存至缓存之中
with open(r'E:\b.txt','w') as WRITE:
WRITE.write(A)
# 定义目标文件并将缓存中的内容写入,完成复制
print ('Is ok')