python3中的os.path模块

时间:2021-07-08 03:50:18

      os.path模块主要用于获取文件的属性,这里对该模块中一些常用的函数做些记录。

  • os.abspath(path):获取文件的绝对路径。这里path指的是路径,例如我这里输入“data.csv”
 [In]  os.path.abspath('data.csv') [Out] 'E:\\kaggle\\Titanic\\data.csv'
python3中的os.path模块
  • os.path.basename(path):获取文件名称。该函数默认通过 ‘\’来截取字符串获取文件名,返回最后一个'\'符号后面的内容
 [In]  os.path.basename('test\\123\\data.csv') [Out] 'data.csv'
python3中的os.path模块
  • 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\\'
python3中的os.path模块
  • os.apth.dirname:返回文件路径
[In]   os.path.dirname(os.path.abspath('data.csv')) [Out] 'E:\\kaggle\\Titanic' 
python3中的os.path模块
  • os.path.exists(path):判断路径是否存在,若存在则返回True,不存在则返回False
[In]   os.path.exists('E:\\kaggle\1') [Out] False
python3中的os.path模块
  • 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'
python3中的os.path模块

       (2)当输入的路径中只有一个路径头部包含 ‘/’ 时,函数会去掉该路径前面(从左至右,按路径的输入顺序)所有路径,然后在剩余路径间加 ‘\\’ 将它们拼接起来,不过会保留 ‘\’

[In]   os.path.join('E','/kaggle','Titanic') [Out] '/kagg:le\\Titanic'
python3中的os.path模块

       (3)当输入的路径中有多个路径包含 '\' 时,则会从最后一个包含 '\' 的路径开始拼接其后所有的路径,之前的路径全部丢掉

[In]   os.path.join('E','/kaggle','/Titanic','Test.csv') [Out] '/Titanic\\Test.csv'
python3中的os.path模块

        (4)当输入的路径中头部包含 './'时,会将该路径之前的路径也进行拼接,不过会保留 './'符号

[In]   os.path.join('E','kaggle','./Titanic','Test.csv') [Out] 'E\\kaggle\\./Titanic\\Test.csv'
python3中的os.path模块

       (5) 当输入的路径中同时存在头部包含  '\' 、'./'的情况,优先生效  '\'的作用。

[In]   os.path.join('E','./kaggle','/Titanic','Test.csv') [Out] '/Titanic\\Test.csv'
python3中的os.path模块

      (6) 测试过程中发现 ' : '同样存在特殊作用的情况,不过这里就不再说明,应为不常用

      这里顺便介绍一下python中join函数的作用,它同样用来连接字符串,达到与os.path.join()同样的作用。例如

[In]   a=['E:','kaggle','Titanic'] '\\'.join(a) [Out] 'E:\\kaggle\\Titanic' 
python3中的os.path模块
  • os.path.split(path):将路径拆分为目录名(dirname)和文件名(filename)
[In]   os.path.split('E:\\kaggle\\Titanic\\test.csv') [Out] ('E:\\kaggle\\Titanic', 'test.csv')
python3中的os.path模块