Python文件目录操作

一、Python打开文件

首先用Python内置的open()函数打开一个文件,创建一个file对象,然后相关的辅助方法才可以调用它进行读写。

语法:

file object = open(file_name[,access_mode][,buffering])

 

fp = open("c:/test/test.txt")  #打开文件的句柄

fp.read() #读取test.txt文件里的内容

fp.close() #关闭文件

向文件中写入数据:

fp = open("c:/test/test.txt",'w')  

fp.write("hello python")

fp.close() #关闭后才会缓冲区中的内容写入到文件中

fp = open("c:/test/new.txt",'w')   #在以写的模式打开一个文件时,如果文件不存在就会新建一个文件,以写的方式,首先会清空内容,然后开始写入内容

二、Python对象的属性

一个文件被打开后,有一个file对象,你可以得到有关该文件的各种信息。以下是和file 对象相关的所有属性的列表:

三、Python文件关闭

File对象的close()方法刷新缓冲区里任何还没有写入的信息,并关闭该文件,这之后便不能再进行写入。

当一个文件对象的引用被重新指定给另一个文件时,Python会关闭之前的文件。用close()方法关闭文件时一个很好的习惯。

四、Python常用文件操作函数

read()将文件内容作为一个大的字符串全部读出来   'aaaa/nbbb/n/cccc/n'

readline()读取文件中的一行内容   'aaa/n'

readlines()将文件内容作为一个大的列表全部读出来,每个成员是文件中的某一行   ['aaa/n','bbb/n','ccccc/n']

write()将字符串写入文件

writelines(list)将列表写入文件

close()文件关闭

tell()查看当前游标位置   fp.tell()

seek(offset[,where])把文件指针移动到相对于where的offset位置,where为0表示文件开始处,这是默认值;1表示当前位置;2表示文件结尾

flush()刷新输出缓存,把缓冲区的内容写入硬盘

truncate([size])截取文件,使文件大小为size

Python flush()

一般的文件流操作都包含缓冲机制,write方法并不直接将数据写入文件,而是先写入内存中特定的缓存区。flush方法是用来刷新缓冲区的,即将缓冲区中的数据立刻写入文件,同时清空缓冲区。

五、Pyhton os模块介绍

os模块主要用于运行系统命令

import os

os.rename('file.txt','file-new.txt') #文件重命名

os.remove('file-new.txt') #删除文件

os.mkdir('test') #创建文件夹

os.rmdir('test') #删除文件夹

os.makedirs('aa/bb') #目录中包含子目录的创建

os.removedirs('aa/bb') # 删除级联目录

os.getcwd() #相当于Linux下的pwd,获取当前目录

os.chdir(os.getcwd() + os.sep +'test') #进入到某个目录

os.listdir(os.getcwd()) #相当于Linux下的ls,显示当前目录下的文件

 os.path.isfile("test.txt") #判断是否是文件

os.path.isdir("test.txt") # 判断是否是文件夹

os.path.exists("test.txt") #判断文件是否存在

os.path.getsize("test.txt") #获取文件大小

os.path.abspath("test.txt") #返回文件的绝对路径

os.path.basename(os.path.abspath("test.txt")) #获取文件的文件名,注意参数需要传入绝对路径

os.path.dirpath(os.path.abspath("test.txt")) #获取文件的所在目录,注意参数需要传入绝对路径

六、Python文件递归遍历

实例:实现目录递归便利,查找以.py结尾的文件,并将文件绝对路径存入result.log文件。

提醒:列表切片功能

 

posted on 2017-08-08 16:18  sunshine_zhf  阅读(205)  评论(0编辑  收藏  举报

导航