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

yipeiwu_com7年前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脚本使得web页面上的代码高亮显示

做了一个在线代码高亮的项目,强大的Python一如既往没让我失望,一个强大的Pygments模块可以对多种(很多)语言进行代码高亮 下面来介绍一下它: 首先安装很简单,使用easy_in...

Python中新式类与经典类的区别详析

1.新式类与经典类 在Python 2及以前的版本中,由任意内置类型派生出的类(只要一个内置类型位于类树的某个位置),都属于“新式类”,都会获得所有“新式类”的特性;反之,即不由任意内置...

Python3并发写文件与Python对比

这篇文章主要介绍了Python3并发写文件原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 使用python2在进行并发写的时候...

解决pycharm无法识别本地site-packages的问题

解决pycharm无法识别本地site-packages的问题

之前一直用python自带的IDLE写python程序,后来发现有一些限制啥的,于是下载了pycharm作为IDE去处理python 新建项目以后本以为能直接跑以前的代码,发现有些库无法...

python 实现数字字符串左侧补零的方法

因为做新闻爬虫,url里面0-9的日期要左侧加零。经过查询之后得到了两种方法。 一、先设一个足够大的数,比如1000000,然后加上当前的数字比如9,得到1000009,然后转化为字符串...