python笔记系列-day15 文件和目录

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/fk002008/article/details/86535439

Python的 文件操作更像C语言,没有Java那般华丽

文件对象

我们使用这个 open()函数可以建立一个物理磁盘文件的连接

比如 下面的 a= open('text.txt','w'),返回一个 file 对象

如果没有文件就创建一个,创建的文件的位置就在我们 打开这个python交互的目录位置

此处是 D:\Apl\python_work\fileop

使用 write() 方法将给这个文件里面写入东西

最后关闭掉连接,写入的缓存就写入到文件里面去了

判断文件是否存在

使用 os模块

os.path.isfile() 来检测输入的文件是否存在  

向文件中追加文本 'a'

这个使用的模式 是 'a' , 不是这个'w'了

读取文本文件 'r'

readline方法

    该方法从文件中读出一行,如果是第一调用,那么就返回这个文件的第一行

read方法

该方法返回的是文件中没有读取的所有内容,如果一开始对一个文件调用read,那么就把该文件的完整内容作为一个

长字符串返回

一次读取所有行 readlines方法

可以使用 readlines方法一次得到所有的行,返回的是一个  列表 list

此时我们可以循环这个list  逐行获取文件中的内容

删除文件对象

删除对象使用  del 操作符

文件异常 IOError

路径和目录 os 模块

os模块的子模块 os.path 提供了操作路径的函数

1. os.path.join 进行目录拼接

使用 os.path.join 函数可以将目录名称组合为路径,这样可以屏蔽掉操作系统的差异

例如 windows平台上

2. os.path.split 进行目录分割

该函数接收一个路径,然后进行分割,返回一个含有两个元素的元组

第一个元素是 父目录的路径,第二个元素是最后一个路径

如果递归调用这个 os.path.split 的话,可以分解完目录

3. os.path.splitext 分解出文件扩展名

该函数接收一个文件名,返回一个含有两个元素的元组

第一个元素是文件名,第二个元素是文件扩展名

4.绝对路径

os.path.abspath

os.path.normpath

5.判断路径是否存在

os.path.exists(路径)

6.获取目录内容

注意这个使用的是 os.listdir 不是 os.path的使用

使用 os.listdir 来获取指定目录内容 ,类似  dos下的 dir 命令

使用 . 可以列出当前的目录(打开当前python交互环境的目录)

我们可以使用这个命令做一个类似dos的dir命令

7.判断是文件还是目录

os.path.isfile 判断是否为文件

os.path.isdir 判断是否为目录

文件操作

shutil模块

该模块中包含了文件操作的函数

1.重命名  

使用 shutil.move(原文件名,新文件名)

2.移动文件

同样使用 shutil.move(文件名,目标目录)

3.复制文件

使用 shutil.copy 可以进行文件的复制

os模块

os模块也有很多操作属性和方法

我们可以使用 dir(os) 查看下

例如:

chdir,chmod,close,cpu_count

curdir 【这是一个属性不是方法,返回.】,

getcwd 这是一个方法返回绝对路径

link,listdir,makedirs,mkdir,name

open,pardir,path,read,readlink

remove,removedirs,rename,renames

rmdir,write 等等

os.rename 重命名

os.rename也有重命名的功效,但是不可以进行文件的移动只能是重命名

而且可能在一些系统上会出现意想不到的事情

os.remove 删除

os.remove(指定的文件)

文件的权限

使用 os.chmod函数进行

和linux上的chmod函数用法相同

创建目录

os.mkdir (目录路径)

       该函数要求创建的目录的 父目录必须存在,不存在就会报异常

os.makedirs(目录路径)

      该函数允许父目录不存在,如果不存在就创建父目录

删除目录

os.rmdir函数

os.rmdir(指定目录) 可以删除一个目录,但是该目录必须是空目录

shutil.rmtree函数

该函数可以删除指定目录以及该目录下的子目录,是级联删除的。子目录下可以有内容

通配符

glob模块提供了通配符

使用 glob.glob() 函数可以进行通配,结果是一个列表

 

可以在方括号中匹配任意范围的的字符

例如 [m-p] 匹配 m,n,o,p 中的任意一个字母

[!0-9] 匹配 数字以外的任意字符

路径通配

'*\\*.txt'

猜你喜欢

转载自blog.csdn.net/fk002008/article/details/86535439
今日推荐