二进制文件
# 二进制文件
# 读取模式
# t 读取文本文件(默认值)
# b 读取二进制文件
file_name = 'C:\Users\changlilin\Desktop\lbj.jpg'
with open(file_name,'rb') as file_obj:
# 读取文本文件时,size 是以字符为单位的
# 读取二进制文件时,size 是以字节为单位的
print(file_obj.read())
# 将读取到的内容写出来
# 定义一个新的文件
new_name = 'newlbj.jpg'
with open(new_name, 'wb') as new_obj:
# 定义每次读取的大小
chunk = 1024 * 100
while True:
# 从已有的对象中读取数据
content = file_obj.read(chunk)
# 内容读取完毕,终止循环
if not content:
break
# 将读取到的数据写入到新对象中
new_obj.write(content)
方法:seek() and tell()
# seek() and tell()
with open('hello/demo','rb') as file_obj:
# print(file_obj.read(3))
# seek() 可以修改当前读取的位置
file_obj.seek(4,1)
# file_obj.seek(6)
# seek() 需要两个参数
# 第一个 是要切换到的位置
# 第二个 计算位置方式
# 可选值:
# 0:从头计算,默认值
# 1:从当前位置计算
# 2:从最后位置开始计算
# tell() 方法用来查看当前读取到的位置
print('当前读取到了》',file_obj.tell())
文件其他操作方法
import os
from pprint import pprint
# os.listdir() 获取指定目录的目录结构
r = os.listdir()
# os.getcwd() 获取当前所在目录
r = os.getcwd()
# os.chdir() 切换当前所在的目录,作用相当于 cd
# r = os.chdir('c:/')
# 创建目录
# os.mkdir('lbj')
# 删除目录
# os.rmdir('lbj')
# 创建文件
# open('aa.txt','w')
# 删除文件
# os.remove('aa.txt')
# 文件重命名或移动文件路径
# os.rename('aa.txt','lbj.txt')
os.rename('lbj.txt','hello/james.txt')
pprint(r)