os.path模块主要用于获取文件的属性,这里对该模块中一些常用的函数做些记录。
- os.abspath(path):获取文件的绝对路径。这里path指的是路径,例如我这里输入“data.csv”
[In] os.path.abspath(‘data.csv‘)
[Out] ‘E:\\kaggle\\Titanic\\data.csv‘
- os.path.basename(path):获取文件名称。该函数默认通过 ‘\’来截取字符串获取文件名,返回最后一个‘\‘符号后面的内容
[In] os.path.basename(‘test\\123\\data.csv‘)
[Out] ‘data.csv‘
- os.path.commonprefix(list):返回list(包含多个路径)中,path共有的最长路径
[In] pa=[‘E:\\kaggle\\a\\1‘,‘E:\\kaggle\\b\\1‘,‘E:\\kaggle\\a\\2‘]
os.path.commonprefix(pa)
[Out] ‘E:\\kaggle\\‘
- os.apth.dirname:返回文件路径
[In] os.path.dirname(os.path.abspath(‘data.csv‘))
[Out] ‘E:\\kaggle\\Titanic‘
- os.path.exists(path):判断路径是否存在,若存在则返回True,不存在则返回False
[In] os.path.exists(‘E:\\kaggle\1‘)
[Out] False
- os.path.getatime(path):返回文件最近的访问时间
- os.path.getmtime(path):返回文件最近的修改时间
- os.path.getctime(path):返回文件的创建时间
- os.path.join(path1,path2,,,):拼接路径,不过有几条准则
(1)输入的路径头部不包含‘./‘、‘/‘时, 函数会将每个路径间加“\\”拼接起来
[In] os.path.join(‘E:\\‘,‘kaggle‘,‘Titanic‘)
[Out] ‘E:\\kaggle\\Titanic‘
(2)当输入的路径中只有一个路径头部包含 ‘/’ 时,函数会去掉该路径前面(从左至右,按路径的输入顺序)所有路径,然后在剩余路径间加 ‘\\’ 将它们拼接起来,不过会保留 ‘\’
[In] os.path.join(‘E‘,‘/kaggle‘,‘Titanic‘)
[Out] ‘/kagg:le\\Titanic‘
(3)当输入的路径中有多个路径包含 ‘\‘ 时,则会从最后一个包含 ‘\‘ 的路径开始拼接其后所有的路径,之前的路径全部丢掉
[In] os.path.join(‘E‘,‘/kaggle‘,‘/Titanic‘,‘Test.csv‘)
[Out] ‘/Titanic\\Test.csv‘
(4)当输入的路径中头部包含 ‘./‘时,会将该路径之前的路径也进行拼接,不过会保留 ‘./‘符号
[In] os.path.join(‘E‘,‘kaggle‘,‘./Titanic‘,‘Test.csv‘)
[Out] ‘E\\kaggle\\./Titanic\\Test.csv‘
(5) 当输入的路径中同时存在头部包含 ‘\‘ 、‘./‘的情况,优先生效 ‘\‘的作用。
[In] os.path.join(‘E‘,‘./kaggle‘,‘/Titanic‘,‘Test.csv‘)
[Out] ‘/Titanic\\Test.csv‘
(6) 测试过程中发现 ‘ : ‘同样存在特殊作用的情况,不过这里就不再说明,应为不常用
这里顺便介绍一下python中join函数的作用,它同样用来连接字符串,达到与os.path.join()同样的作用。例如
[In] a=[‘E:‘,‘kaggle‘,‘Titanic‘]
‘\\‘.join(a)
[Out] ‘E:\\kaggle\\Titanic‘
- os.path.split(path):将路径拆分为目录名(dirname)和文件名(filename)
[In] os.path.split(‘E:\\kaggle\\Titanic\\test.csv‘)
[Out] (‘E:\\kaggle\\Titanic‘, ‘test.csv‘)
原文地址:https://www.cnblogs.com/hgz-dm/p/10886341.html
时间: 2024-11-05 18:46:18