<1> 文件的打开和关闭:
1.打开文件f.open('text.txt','w') w,打开一个文件只用于写入,文件存在则覆盖,不存在,创建新文件,wb以二进制格式打开一个文件只用于写入。存在,覆盖,不存在,创建。
2.关闭文件:close()
<2> 文件的 读写:
1.写数据: write()
f.open('test.txt','w')
f.write('hello python')
f.close()
2.读数据:read(num) 从文件中读取数据,num表示要从文件中读取的数据的长度(单位是字节)。不传入num,则全部读取
f = open('test.txt', 'r')
content = f.read(5)
print(content)
print("-"*30)
content = f.read()
print(content)
f.close()
3.readlines()按照行的方式把整个文件的内容一次性读取,返回列表,每行的数据为一个元素。
4.readline()按照行的方式读取,每次读取一行。
如果文件很大,怎样把文件的数据读取到内存然后进行处理。
不能直接用read,不管文件有多大,都会一次性读完,内存不够用。采用读一点写一点的方式,分步执行。
限定每次读取数据的大小。例如f.read(1024),循环读取,当读到的数据长度为0 的时候,结束循环。
<3>制作文件的备份
# 提示输入文件
oldFileName = input("请输入要拷贝的文件名字:")
# 以读的方式打开文件
oldFile = open(oldFileName,'rb')
# 提取文件的后缀
fileFlagNum = oldFileName.rfind('.')
if fileFlagNum > 0:
fileFlag = oldFileName[fileFlagNum:]
# 组织新的文件名字
newFileName = oldFileName[:fileFlagNum] + '[复件]' + fileFlag
# 创建新文件
newFile = open(newFileName, 'wb')
# 把旧文件中的数据,一行一行的进行复制到新文件中
for lineContent in oldFile.readlines():
newFile.write(lineContent)
# 关闭文件
oldFile.close()
newFile.close()
<4>文件的定位读写
1)获取当前读写的位置 在读写文件的过程中,可以用tell()来获取当前的位置。
2)定位到某个位置:seek(offset,from) offset偏移量,from:方向(0:表示文件开头,1:表示当前位置,2:表示文件末尾)
<4>文件的重命名:os模块中的rename()可以完成对文件的重命名操作 os.rename(old,new)
<5>删除文件:os模块中的remove() import os / os.remove(要删除的文件名)
<6>获取当前目录 import os/ os.getcwd()
<7>改变默认目录: import os/os.chdir("../")
<8>获取目录列表 :import os/ os.listdit('../')
<9>删除文件夹: import os,/ os.rmdir('abc')