访问模式
r 只读,默认
w 只写,存在-删除原有内容,不存在-创建
a 追加,存在-末尾追加,不存在-创建文件
rb 二进制格式打开一个文件,只读,指针在开头
r+ 读写,指针在开头
rb+ 二进制格式打开一个文件,读写,指针在开头
wb 二进制格式打开一个文件,只写,存在-删除原有内容,不存在-创建
w+ 读写,存在-删除原有内容,不存在-创建
wb+ 二进制格式打开一个文件,读写,存在-删除原有内容,不存在-创建
ab 二进制格式打开一个文件,追加,存在-删除原有内容,不存在-创建
a+ 读写,存在-指针文件结尾,不存在-创建
ab+ 二进制格式打开一个文件,追加,存在-指针文件结尾,不存在-创建
基础操作
# 默认访问模式是r
file = open('test.txt', 'a+')
print(file.writable(), file.readable(), file.seekable())
print(file.read())
#换行符占一个字节
print(file.read(14))
#按行读取,包括换行符,以列表存取
print(file.readlines())
#一次读取一行
print(file.readline())
file.writelines("test file 05")
#字节偏移量,起始位置 0-文件开头,1-当前位置,2-文件末尾
file.seek(0,0)
print(file.readlines())
file.close()
文件复制
old_name = input("请输入文件名:")
index = old_name.rfind(".")
if index > 0:
postfix = old_name[index:]
new_name = old_name[0:index:1] + "备份" + postfix
old_file = open(old_name, 'rb')
new_file = open(new_name, 'wb')
while True:
con = old_file.read(1024)
if len(con) == 0:
break
new_file.write(con)
old_file.close()
new_file.close()
文件夹操作
import os
file = open("test.txt", 'w')
file.write("text file")
file.close()
os.rename("test.txt","test2.txt")
os.remove('test2.txt')
os.mkdir('testDir')
os.rmdir('testDir')
print(os.getcwd())
os.chdir('testDir')
print(os.getcwd())
os.mkdir('bb')
print(os.listdir('testDir'))
os.rename('testDir/bb','testDir/bbb')