python 文件路径名、文件名、后缀名操作
当需要使用路径名来获取文件名、目录名、绝对路径等等的时候,墙裂推荐使用常用路径操作模块os.path。
Talk is cheap. Show me the code.
__author__ = '[email protected]'
# -*- coding: utf-8 -*
import os
root_path = 'C:\\Python37\\Tools\\scripts\\2to3.py'
# 杩斿洖鏂囦欢鍚?
basename = os.path.basename(root_path)
print(basename)#2to3.py
# 杩斿洖鐩綍璺緞
dirname = os.path.dirname(root_path)
print(dirname)#C:\\Python37\\Tools\\scripts
# 鍒嗗壊鏂囦欢鍚嶄笌璺緞
dirname,basename = os.path.split(root_path)
print(dirname)#C:\Python37\Tools\scripts
print(basename)#2to3.py
# 鍒嗗壊鏂囦欢鍚嶄笌璺緞
root,ext = os.path.splitext(root_path)
print(root)#C:\Python37\Tools\scripts\2to3
print(ext)#.py
# 灏嗙洰褰曞拰鏂囦欢鍚嶅悎鎴愪竴涓矾寰?
join_path = os.path.join('C:\Python37\Tools','scripts','2to3.py')
print( join_path ) #'C:\\Python37\\Tools\\scripts\\2to3.py'
#绫籙nix鐨勮矾寰?
root_path = '/Users/Google/Data/path.csv'
# 鍒嗗壊鏂囦欢鍚嶄笌璺緞
print(os.path.split(root_path))
#('/Users/Google/Data', 'path.csv')
# 鍒嗗壊鏂囦欢鍚嶄笌璺緞
print(os.path.splitext(root_path))
#('/Users/Google/Data/path', '.csv')
print( os.path.join('/Users/Google/','Data','path.csv') ) #'C:\\Python37\\Tools\\scripts\\2to3.py'
对于任何的文件名的操作,你都应该使用os.path 模块,而不是使用标准字符串操作来构造自己的代码。特别是为了可移植性考虑的时候更应如此,不同的操作系统具有不同的路径名称约定,os.path 模块始终是适合 Python 运行的操作系统的路径模块。其次,你真的不应该浪费时间去重复造*,通常最好是直接使用已经为你准备好的功能。
os.path.dirname(path)
返回路径 path 的目录名称。
这是将 path 传入函数 split() 之后,返回的一对值中的第一个元素。
os.path.basename(path)
返回路径 path 的基本名称。
这是将 path 传入函数 split() 之后,返回的一对值中的第二个元素。
请注意,此函数的结果与Unix basename 程序不同。
basename 在 '/foo/bar/' 上返回 'bar',而 basename() 函数返回一个空字符串 ('')。
os.path.split(path)
将路径 path 拆分为一对,即 (head, tail),
其中,tail 是路径的最后一部分,而 head 里是除最后部分外的所有内容。
tail 部分不会包含斜杠,如果 path 以斜杠结尾,则 tail 将为空。
如果 path 中没有斜杠,head 将为空。如果 path 为空,则 head 和 tail 均为空。
head 末尾的斜杠会被去掉,除非它是根目录(即它仅包含一个或多个斜杠)。
在所有情况下,join(head, tail) 指向的位置都与 path 相同(但字符串可能不同)。
os.path.splitext(path)
将路径 path 拆分为一对,即 (root, ext),使 root + ext == path,
其中 ext 为空或以英文句点开头,且最多包含一个句点。
路径前的句点将被忽略,例如 splitext('.cshrc') 返回 ('.cshrc', '')。
参考:
https://www.cnblogs.com/baxianhua/p/10214512.html
https://www.runoob.com/python/python-os-path.html
https://docs.python.org/zh-cn/3.8/library/os.path.html
上一篇: 对象写入二进制文件
下一篇: PHP类中的七种语法说明_PHP教程