文件操作
什么是文件
文件的入门
打开⽂件
在python,使⽤open函数,可以打开⼀个已经存在的⽂件,或者创建⼀个新⽂件
open(⽂件名,访问模式)
f = open('test.txt', 'w')
#访问模式表
关闭文件close
close( )
# 新建⼀个⽂件,⽂件名为:test.txt f = open('test.txt', 'w') # 关闭这个⽂件 f.close()
写数据write
使⽤write()可以完成向⽂件写⼊数据
write()
f = open('test.txt', 'w') f.write('hello world, i am here!') f.close()
注意:如果⽂件不存在那么创建,如果存在那么就先清空,然后写⼊数据
读数据read
使⽤read(num)可以从⽂件中读取数据,num表示要从⽂件中读取的数据的长度(单位是字节),如果没有传⼊num,那么就表示读取⽂件中所有的数据
read(num)
f = open('test.txt', 'r') content = f.read(5) print(content) print("-"*30) content = f.read() print(content) f.close()
注意:如果open是打开⼀个⽂件,那么可以不⽤写打开的模式,即只写 open(‘test.txt’), 如果使⽤读了多次,那么后⾯读取的数据是从上次读完后的位置开始的
读数据readlines
就像read没有参数时⼀样,readlines可以按照行的方式把整个⽂件中的内容 进⾏⼀次性读取,并且返回的是⼀个列表,其中每⼀⾏的数据为⼀个元素
#coding=utf-8 f = open('test.txt', 'r') content = f.readlines() print(type(content)) i=1 for temp in content: print("%d:%s"%(i, temp)) i+=1 f.close()
读数据readline
#coding=utf-8 f = open('test.txt', 'r') content = f.readline() print("1:%s"%content) content = f.readline() print("2:%s"%content) f.close()
应⽤1:制作文件的备份
1.输⼊⽂件的名字,然后程序⾃动完成对⽂件进⾏备份
代码
#coding=utf-8 oldFileName = input("请输⼊要拷⻉的⽂件名字:") oldFile = open(oldFileName,'r') # 如果打开⽂件 if oldFile: # 提取⽂件的后缀 fileFlagNum = oldFileName.rfind('.') if fileFlagNum > 0: fileFlag = oldFileName[fileFlagNum:] # 组织新的⽂件名字 newFileName = oldFileName[:fileFlagNum] + '[复件]' + fileFlag # 创建新⽂件 newFile = open(newFileName, 'w') # 把旧⽂件中的数据,⼀⾏⼀⾏的进⾏复制到新⽂件中 for lineContent in oldFile.readlines(): newFile.write(lineContent) # 关闭⽂件 oldFile.close() newFile.close()
获取当前读写的位置tell
在读写⽂件的过程中,如果想知道当前的位置,可以使⽤tell()来获取
tell()
定位到某个位置seek
如果在读写⽂件的过程中,需要从另外⼀个位置进⾏操作的话,可以使⽤ seek()
- 把位置设置为:从⽂件开头,偏移5个字节
- 把位置设置为:离⽂件末尾,3字节处
⽂件重命名rename
os模块中的rename()可以完成对⽂件的重命名操作
rename(需要修改的⽂件名, 新的⽂件名)
删除⽂件remove
os模块中的remove()可以完成对⽂件的删除操作
remove(待删除的⽂件名)
⽂件夹的相关操作
就像对⽂件操作需要os模块⼀样,如果要操作⽂件夹,同样需要os模块
创建⽂件夹
获取当前⽬录
改变默认⽬录
获取⽬录列表
删除⽂件夹
应⽤:批量修改⽂件名
运⾏过程演示
代码