Python 目录和文件操作
程序员文章站
2022-05-15 08:46:11
...
Python 目录和文件操作2
- os.path.abspath(path)
- os.path.basename(path)
- os.path.commonpath(paths)
- os.path.commonprefix(list)
- os.path.dirname(path)
- os.path.exists(path)
- os.path.getsize(path)
- os.path.isabs(path)
- os.path.isfile(path)
- os.path.isdir(path)
- os.path.islink(path)
- os.path.join(path, *paths)
- os.path.normpath(path)
- os.path.realpath(path)
- os.path.relpath(path, start=os.curdir)
- os.path.samefile(path1, path2)
- os.path.sameopenfile(fp1, fp2)
- os.path.split(path)
- os.path.splitext(path)
os.path.abspath(path)
- 返回文件或目录的绝对路径,包含path
In [2]: import os
In [8]: os.path.abspath("JSONPaser.py")
Out[8]: '/Users/lpf/Desktop/Python/src/JSONPaser.py'
os.path.basename(path)
- 返回路径中的最后一个文件或目录名
In [41]: os.path.basename("/Users/lpf/Desktop/Python/src/testLink.py")
Out[41]: 'testLink.py'
os.path.commonpath(paths)
- 返回所有路径的最长相同路径
In [9]: os.path.commonpath(['/usr/lib', '/usr/local/lib'])
Out[9]: '/usr'
os.path.commonprefix(list)
- 返回所有路径的最长相同路径字符串
In [10]: os.path.commonprefix(['/usr/lib', '/usr/local/lib'])
Out[10]: '/usr/l'
os.path.dirname(path)
- 提取路径名
In [11]: os.path.dirname("/Users/lpf/Desktop/Python/src/JSONPaser.py")
Out[11]: '/Users/lpf/Desktop/Python/src'
os.path.exists(path)
- 判断路径或文件是否存在
- 返回逻辑值
In [12]: os.path.exists("/Users/lpf/Desktop/Python/src/JSONPaser.py")
Out[12]: True
In [13]: os.path.exists("JSONPaser.py")
Out[13]: True
os.path.getsize(path)
- 返回文件大小(bytes)
In [15]: os.path.getsize("JSONPaser.py")
Out[15]: 114
os.path.isabs(path)
- 判断路径是否为绝对路径
In [16]: os.path.isabs("JSONPaser.py")
Out[16]: False
In [17]: os.path.isabs("/Users/lpf/Desktop/Python/src/JSONPaser.py")
Out[17]: True
os.path.isfile(path)
- 判断是否为文件
In [18]: os.path.isfile("/Users/lpf/Desktop/Python/src/JSONPaser.py")
Out[18]: True
os.path.isdir(path)
- 判断是否为目录
In [19]: os.path.isdir("/Users/lpf/Desktop/Python/src/JSONPaser.py")
Out[19]: False
In [20]: os.path.isdir("/Users/lpf/Desktop/Python/src")
Out[20]: True
os.path.islink(path)
- 判断是否是一个符号链接
In [22]: os.path.islink("/Users/lpf/Desktop/Python/src/JSONPaser.py")
Out[22]: False
In [23]: os.path.islink("/Users/lpf/Desktop/Python/src/testLink.py")
Out[23]: True
os.path.join(path, *paths)
- 以用户友好的形式连接路径字符串为一个完整的路径
注意:可以自适应不同的操作系统
In [24]: os.path.join("/Users/lpf/Desktop/Python/src","testLink.py")
Out[24]: '/Users/lpf/Desktop/Python/src/testLink.py'
os.path.normpath(path)
- 压缩路径名为最简路径名,去除其中冗余的路径
In [26]: os.path.normpath("/Users/lpf/Desktop/Python/src/////testLink.py")
Out[26]: '/Users/lpf/Desktop/Python/src/testLink.py'
In [27]: os.path.normpath("/Users/lpf/Desktop/Python/src/.////testLink.py")
Out[27]: '/Users/lpf/Desktop/Python/src/testLink.py'
os.path.realpath(path)
- 返回一个(链接)文件或路径的原路径
注意:主要针对链接文件或路径
In [28]: os.path.realpath("/Users/lpf/Desktop/Python/src/testLink.py")
Out[28]: '/Users/lpf/Desktop/Python/src/JSONPaser.py'
os.path.relpath(path, start=os.curdir)
- 返回相对于start的相对路径名,start的默认值为当前路径
In [29]: os.path.relpath("/Users/lpf/Desktop/Python/src/testLink.py")
Out[29]: 'testLink.py'
In [30]: os.path.relpath("/Users/lpf/Desktop/Python/src/testLink.py", start = "/Users/lpf/Desktop")
Out[30]: 'Python/src/testLink.py'
In [31]: os.path.relpath("testLink.py", start = "/Users/lpf/Desktop")
Out[31]: 'Python/src/testLink.py'
os.path.samefile(path1, path2)
- 如果path1和path2是同一个文件或目录,返回True
In [32]: path1 = "testLink.py"
In [33]: path2 = "/Users/lpf/Desktop/Python/src/JSONPaser.py"
In [34]: os.path.samefile(path1, path2)
Out[34]: True
注意:path1是path2的符号链接
os.path.sameopenfile(fp1, fp2)
- 如果fp1和fp2是打开同一个文件的文件描述符,则返回True
os.path.split(path)
- 返回一个元组(head, tail)。
- head是文件路径名;tail是path的最后一个文件(或目录)名
In [35]: os.path.split("/Users/lpf/Desktop/Python/src/testLink.py")
Out[35]: ('/Users/lpf/Desktop/Python/src', 'testLink.py')
In [36]: os.path.split("/Users/lpf/Desktop/Python/src")
Out[36]: ('/Users/lpf/Desktop/Python', 'src')
os.path.splitext(path)
- 分割路径名为:prefix和suffix名
In [39]: os.path.splitext("/Users/lpf/Desktop/Python/src/testLink.py")
Out[39]: ('/Users/lpf/Desktop/Python/src/testLink', '.py')
In [40]: os.path.splitext("testLink.py")
Out[40]: ('testLink', '.py')
上一篇: c#对文件和文件夹的基本操作