内置函数open()创建文件对象
'''
语句格式如下:
'''
file=open('a.txt','r',encoding='GBK')
print(file.readlines())
file.close()
打开模式 | 描述 |
---|
r | 只读模式 |
w | 只写模式,如果文件不存在会创建文件,文件指针在文件的开头,如果文件存在,则覆盖原有内容 |
a | 以追加模式打开文件,如果文件不存在则创建,文件指针在文件开头,如果文件存在,则在文件末尾追加内容,文件指针在文件末尾 |
b | 以二进制方式打开文件,不能单独使用,需要与其它模式一起使用,rb或者wb |
* | 以读写的方式打开,不能单独使用,需要与其他模式一起使用,a+ |
src_file=open('blackpink.png','rb')
target_file=open('blackpink1.png','wb')
target_file.write(src_file.read())
src_file.close()
target_file.close()
文件对象的常用方法
方法名 | 说明 |
---|
read([size]) | 从文件中读取size个字节或字符返回,若省略[size],则读取到文件末尾,即一次读取文件所有内容 |
readline() | 从文本文件中读取一行内容,如果是readlines(),则将文本内容中每一行都作为独立的字符串对象,并将这些对象放入列表中返回 |
write(str) | 将字符串str内容写入文件 |
writeliners(s_list) | 将字符串列表s_list写入文本文件,不添加换行符 |
seek(offset,whence) | 把文件指针移动到新的位置,offset表示相对于whence的位置;offset:为正往结束方向移动,为负往开始方向移动,whence不同的值代表不同含义 0:从文件头开始计算1:从当前位置开始计算2:从文件尾开始计算 |
tell() | 返回文件指针的当前位置 |
flush() | 把缓冲区的内容写入文件,但不关闭文件 |
close() | 把缓冲区的内容写入文件,关闭文件 |
file=open('a.txt','r')
print(file.read(2))
print(file.readline())
print(file.readlines())
file.close()
fle=open('a.txt','a')
fle.write('Hello World')
lst=['zhangsan','\nlisi','\nwangwu']
fle.write('\n')
fle.writelines(lst)
fle.close()
wenjian=open('a.txt','r')
wenjian.seek(2,0)
print(wenjian.read())
wenjian.seek(0)
print(wenjian.read())
wenjian.close()
wish语句
with语句可以自动管理上下文资源,不论什么原因跳出with块,都能确保文件正确的关闭,以此来达到释放资源的目的
with open('b.txt','r') as file:
print(file.read())
file.read()
'''
file.read()
ValueError: I/O operation on closed file.
'''
with open('blackpink.png','rb') as src_file:
with open('blackpink2.png','wb+') as target_file:
target_file.write(src_file.read())