Python 中Path相关的处理
文章目录
python中处理路径问题,详解 os包下的path 模块。
os.path包
- 得到和change当前的工作目录
|
|
- join 不同的路径和文件名
|
|
- 将路径中的简写形式转换成完整形式
~
家目录转换成 /home/user
The os.path.expanduser() function will expand a pathname that uses ~ to represent the current user’s home directory.
- os.path.split()
os.path.split(path) 作用是把path分割成dirname和basename,返回一个元组。
- os.path.splitext(path) 分离文件名与扩展名
默认返回(fname,fextension)元组
|
|
- 得到路径中的文件名
os.path.basename(path)
It is used to return the basename of the file . This function basically return the file name from the path given.
- 得到路径中的文件夹名
os.path.basename(path)
和上面的函数基本是相反的。
It is used to return the directory name from the path given. This function returns the name from the path except the path name.
- os.path.realpath()
返回的是文件的标准路径,不是软连接所在的路径。
- 返回list 中,所有path 共有的最长的路径
os.path.commonprefix(list)
判断类型的函数
- os.path.isabs(path)
判断是否是绝对路径。 在linux 中认为 `\开头的是 绝对路径。
- os.path.isdir(path)
判断是否是文件夹路径
- os.path.isfile(path)
判断是否是一个文件
- os.path.exists(path)
Returns True if path refers to an existing path. Returns False for broken symbolic links. 判断是否是一个合法的路径
获取文件信息的函数
- os.path.getatime(path)
Returns the time of last access of path.
- os.path.getmtime(path)
Returns the time of last modification of path.
- os.path.getsize(path)
Returns the size, in bytes, of path. 不常用
glob.glob() 包
glob 是 python 自带的一个文件操作相关模块。 用于查找符合要求的文件,类似于Windows下的文件搜索,支持这三个通配符操作, * , ? , [ ] ,* 代表0个或多个字符,? 代表一个字符,[ ] 表示匹配指定范围内的字符,如[0-9]匹配数字。
glob一共三个主要函数,glob(), iglob(), escape()。 最常用的是 glob() 函数,下面就对这三个函数进行详解。
|
|
The glob.glob() function returned a list of relative pathnames. If you want to construct an absolute pathname - i.e. one that includes all the directory names back to the root directory or drive letter - then we’ll need the os.path.realpath() function. 上述函数得到的是相对路径,那么可以使用 os.path.realpath() 得到绝对路径。
|
|
并且是可以 recursive search的(这个是非常有用的,find all images)
|
|
This code will return the paths for all files in both the parent and its subdirectory.
- iglob() method | Python Glob
This method creates a Python generator object which can be used to list files under a given directory. You can call the next() function to print names of files. 将 generator 的思想结合到 glob() 中去
与glob.glob()的区别是:glob.glob同时获取所有的匹配路径,而 glob.iglob一次只获取一个匹配路径。
- glob.escape(pathname)
escape(pattern)
Escape all non-alphanumeric characters in pattern. 对于转移字符的定义
用于转义所有特殊字符 ’\?’,’*'和 ‘[’
。 如果要匹配可能包含特殊字符的任意文字字符串,这将非常有用。
|
|
- 编码的一些问题
现在python3 默认是使用 utf-8
进行编码的。
|
|
转义字符
|
|
文章作者 jijeng
上次更新 2019-02-28