Python常用的文件及文件路径、目录操作方法汇总介绍

yipeiwu_com6年前Python基础

python的文件和路径操作函数基本上位于os和os.path模块中。

os.listdir(dirname):列出dirname下的目录和文件

os.path.isdir(name):判断name是不是一个目录,name不是目录就返回false

os.path.isfile(name):判断name是不是一个文件,不存在name也返回false

os.getcwd():获得当前工作目录

os.path.split(name):分割文件名与目录(事实上,如果你完全使用目录,它也会将最后一个目录

作为文件名而分离,同时它不会判断文件或目录是否存在)

os.path.splitext():分离文件名与扩展名

os.path.basename(path):返回文件名

os.path.dirname(path):返回文件路径

os.path.join(path,name):连接目录与文件名或目录

可以使用简单的方法匹配某个目录下的所有子目录或文件,用法也很简单。 glob.glob(regression) 返回一个列表

os.listdir(dirname)
功能相当于在dirname目录下执行dir命令,它返回一个list。不包括dirname的文件和目录的list

复制代码 代码如下:

>>> os.listdir("d:/github")
['about.html', 'book', 'en', 'feiyuliu.github.com', 'life', 'pyssh', 'PythonStud
y', 'StudyShell']

其中about.html是文件,feiyuliu.github.com是目录。
os.path.split(path)
path为一个路径,返回一个元组,把path分为两部分。
复制代码 代码如下:

>>> os.path.split("d:/github/about.html")
('d:/github', 'about.html')
>>> os.path.split("about.html")
('', 'about.html')
os.path.splitext(filename)

把文件分为文件名称路径和扩展名。返回一个元组。
复制代码 代码如下:

>>> os.path.splitext("about.html")
('about', '.html')
>>> os.path.splitext("d:/github/about.html")
('d:/github/about', '.html')

os.path.dirname(path)

把目录输出,不输出文件名。返回字符串类型。

复制代码 代码如下:

>>> os.path.dirname("d:/github/about.html")
'd:/github'
>>> os.path.dirname("about.html")
'' #输出为空

os.path.basename(filename)

取得文件名。返回字符串类型

复制代码 代码如下:

>>> os.path.basename("d:/github/about.html")
'about.html' #注意不包括目录

相关文章

python word转pdf代码实例

原理 使用python win32 库 调用word底层vba,将word转成pdf 安装pywin32 pip install pywin32 python代码 fr...

python2.7实现复制大量文件及文件夹资料

需求:拷大量数据,发现有2000G,靠系统的复制功能怕是得好几个小时,于是回来学一手操作,话不多说上代码: 说明:CopyFiles1是可以将sourceDir连子目录一起原样复制到ta...

python3读取csv文件任意行列代码实例

这篇文章主要介绍了python3读取csv文件任意行列代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 读取每一行 reade...

在Django同1个页面中的多表单处理详解

在Django同1个页面中的多表单处理详解

快速上手Django实现项目 近期公司在做1个海淘的项目,APP为pylot。由于时间比较赶,加上隔壁那哥们不在,只能自己挑大梁了。结果,当项目做出来之后,被领导狠狠的批了一顿,说怎么用...

Python中一般处理中文的几种方法

Python中的中文是个很头痛的问题,Python2和Python3都会出现,而且py2中出现的概率要大些。  有一道面试题: Python中如何处理中文问题,能想到的就是以下...