1.打开文件
open()打开文件并返回文件对象,参数很多,一般用前两个,open(file,mode)。file可以是文件名或者文件目录下的文件名,mode为打开的方式,可以是只读、写入、追加写入、可读可写等等。
打开某个文件,需要知道该文件的目录,或者该文件就在当前的工作目录下。
(1)包含目录的文件名(不修改当前工作目录)
>>> f=open(‘E:/python/record.txt‘) #或者f=open(r‘E:\python\record.txt‘)
#或者f=open(‘E:\\python\\record.txt‘) >>> f.read()
(2)文件名(修改当前的工作目录)
import os #插入os模块
os.getcwd() #查询当前工作目录
os.chdir(‘E:\python‘) #更改当前工作目录
os.getcwd() #查询当前工作目录,发现修改成功
f=open(‘record.txt‘) #打开文件返回赋值到f
f.read() #读取文件
2.文件读取和定位(基于文件对象的方法)
文件是基于定位读取的。
read():开始读取时没有设置参数,则从当前定位到末尾全部读取出来。
readline():读取当前指针位置向后的该行。
tell():当前文件指针的位置。
seek(offset,from):移动指针,从from处向后移动offset个字节,from取值0(起始)或1(当前)或2(末尾)。返回指针所在位置。
文件读取的指针不会自动归位,上面所有的操作具有连续性。每次读取时需要重新定位。
#record.txt文件内容为411 f=open(r‘e:\python\record.txt) f.read() #‘411’ f.tell() #3 f.read() #‘‘ f.seek(1,0) #1 f.read() #‘11‘ f.seek(0,0) #0 for each in f: print(each) #411
3.文件写入
写入需要在打开文件时进行设置为‘w‘(覆盖)或‘a‘(末尾添加)。若用别的模式打开,需要关闭后再开,不然会出错。
对象方法有write(str)和writelines(seq)
f.close() #接2继续 f=open(‘record.txt‘,‘w+‘) #写读模式打开 f.write(‘1225‘) #返回4 f.seek(0,0) #写入后指针在末尾,读取前重新归零 f.read() #‘1225‘
4.OS模块
该模块用于访问系统文件。
import os os.getcwd() #获取当前工作目录 os.chdir(‘e:\\python\\’) #更改当前工作目录为E:\phthon os.listdir() #列出当前目录下的文件和子目录 os.mkdir(‘test‘) #在当前目录下创建新文件夹test os.makedirs(r‘1\2\3‘) #创建多层目录 os.remove(‘record.txt‘) #删除文件 os.removedirs(r‘1\2\3‘) #删除多层文件夹 os.rename(‘record.txt‘,‘r.txt‘) #文件或文件夹重命名 os.system(‘calc‘) #调用计算器