16 文件操作
1 文件操作
1.1 操作模式
mode:
r:读纯文本文件 只读txt文件,doc jpg等不等读
w:写纯文本文件 只写txt文件
binary 二进制 字节
rb: read binary 读二进制 支持文本 视频 影月 图片
wb: write binary 写二进制 支持文本 视频 影月 图片
1.2 系统函数
读操作:
read() 读取所有内容
readline() 每次读取一行内容
readlines() 读取所有的行保存到列表中
readable() 判断是否可读的,返回值布尔值
stream = open(r'C:\p1\aa.txt')
result = stream.readable()
print(result)
写操作:
mode 是’w‘ 表示就是写操作 每次都会将原来的内容清空,
write(内容) 然后写当前的内容
writelines(Iterable) 没有换行效果
stream.writelines(['赌神高进\n', '赌侠小刀\n', '赌圣周星星\n'])
stream = open(r'c:\p1\aa.txt', 'w')
result = stream.write('hello')
print(result)
stream.write('龙五')
stream.writelines(['赌神高进\n', '赌侠小刀\n', '赌圣周星星\n'])
stream.write('僵尸先生')
stream.close()
1.3 文件复制操作
不能复制文件夹,只能是文件,单个文件的复制
with open(r'c:\p1\girl.jpg', 'rb') as stream:
container = stream.read()
with open(r'c:\p2\girl.jpg', 'wb') as wstream:
wstream.write(container)
print('文件复制完成!')
1.4 文件复制案列
把 C:\Users\86132\Desktop\学习材料文件夹\a1.jpg 文件 复制到 当前文件夹下并同名保存
import os
with open(r"C:\Users\86132\Desktop\学习材料文件夹\a1.jpg", "rb") as operate1:
continer = operate1.read()
current_dir = os.path.dirname(__file__)
abspath = operate1.name
file_name = abspath[abspath.rfind("\\") + 1:]
print(file_name)
current_new_filename = os.path.join(current_dir, file_name)
print(current_new_filename)
with open(current_new_filename, "wb") as operate2:
operate2.write(continer)
2 相对路径和绝对路径
import os
r = os.path.isabs(r'c:\p1\girl.jpg')
print(r)
当前文件所在文件夹路径
path = os.path.dirname(__file__)
print(path)
path = os.getcwd()
print(path)
获取当前文件的绝对路径
path = os.path.abspath(__file__)
print(path)
判断文件类型
r = os.path.isfile(os.getcwd())
print(r)
r = os.path.isdir(os.getcwd())
print(r)