我的编程空间,编程开发者的网络收藏夹
学习永远不晚

python os.path模块

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

python os.path模块

join:连接字符串数组。


将字符串、元组、列表中的元素以指定的字符(分隔符)连接生成一个新的字符串


os.path.join():  将多个路径组合后返回


一、函数说明

1.join()函数

语法:‘sep’.join(seq)


参数说明:


sep:分隔符。可以为空

seq:要连接的元素序列、字符串、元组、字典等


上面的语法即:以sep作为分隔符,将seq所有的元素合并成一个新的字符串


返回值:返回一个以分隔符sep连接各个元素后生成的字符串


2、os.path.join()函数


语法:  os.path.join(path1[,path2[,......]])


返回值:将多个路径组合后返回


注:第一个绝对路径之前的参数将被忽略


二、实例



#对序列进行操作(分别使用' '与':'作为分隔符)

 

>>> seq1 = ['hello','good','boy','doiido']


>>> print ' '.join(seq1)


hello good boy doiido


>>> print ':'.join(seq1)


hello:good:boy:doiido

 

 

#对字符串进行操作

 

>>> seq2 = "hello good boy doiido"


>>> print ':'.join(seq2)


h:e:l:l:o: :g:o:o:d: :b:o:y: :d:o:i:i:d:o

 

 

#对元组进行操作

 

>>> seq3 = ('hello','good','boy','doiido')


>>> print ':'.join(seq3)


hello:good:boy:doiido

 

 

#对字典进行操作

 

>>> seq4 = {'hello':1,'good':2,'boy':3,'doiido':4}


>>> print ':'.join(seq4)


boy:good:doiido:hello

 

 

#合并目录

 


>>> import os


>>> os.path.join('/hello/','good/boy/','doiido')


'/hello/good/boy/doiido' 




os和os.path模块


os.listdir(dirname):列出dirname下的目录和文件

os.getcwd():获得当前工作目录

os.curdir:返回但前目录('.')

os.chdir(dirname):改变工作目录到dirname

os.path.isdir(name):判断name是不是一个目录,name不是目录就返回false

os.path.isfile(name):判断name是不是一个文件,不存在name也返回false

os.path.exists(name):判断是否存在文件或目录name

os.path.getsize(name):获得文件大小,如果name是目录返回0L

os.path.abspath(name):获得绝对路径

os.path.normpath(path):规范path字符串形式


os.path.split(name):分割文件名与目录(事实上,如果你完全使用目录,它也会将最后一个目录作为文件名而分离,同时它不会判断文件或目录是否存在)


os.path.splitext():分离文件名与扩展名


os.path.join(path,name):连接目录与文件名或目录


os.path.basename(path):返回文件名

os.path.dirname(path):返回文件路径


os.path.abspath(path) #返回绝对路径

os.path.basename(path) #返回文件名


os.path.commonprefix(list) #返回list(多个路径)中,所有path共有的最长的路径。

os.path.dirname(path) #返回文件所在路径(目录)


os.path.exists(path)  #路径存在则返回True,路径损坏返回False

os.path.lexists  #路径存在则返回True,路径损坏也返回True

os.path.expanduser(path)  #把path中包含的"~"和"~user"转换成用户目录

os.path.expandvars(path)  #根据环境变量的值替换path中包含的”$name”和”${name}”

os.path.getatime(path)  #返回最后一次进入此path的时间。

os.path.getmtime(path)  #返回在此path下最后一次修改的时间。

os.path.getctime(path)  #返回path的大小

os.path.getsize(path)  #返回文件大小,如果文件不存在就返回错误

os.path.isabs(path)  #判断是否为绝对路径


os.path.isfile(path)  #判断路径是否为文件

os.path.isdir(path)  #判断路径是否为目录

os.path.islink(path)  #判断路径是否为链接

os.path.ismount(path)  #判断路径是否为挂载点()

os.path.join(path1[, path2[, ...]])  #把目录和文件名合成一个路径

os.path.normcase(path)  #转换path的大小写和斜杠

os.path.normpath(path)  #规范path字符串形式

os.path.realpath(path)  #返回path的真实路径

os.path.relpath(path[, start])  #从start开始计算相对路径

os.path.samefile(path1, path2)  #判断目录或文件是否相同

os.path.sameopenfile(fp1, fp2)  #判断fp1和fp2是否指向同一文件


os.path.samestat(stat1, stat2)  #判断stat tuple stat1和stat2是否指向同一个文件


os.path.split(path)  #把路径分割成dirname和basename,返回一个元组

os.path.splitdrive(path)   #一般用在windows下,返回驱动器名和路径组成的元组

os.path.splitext(path)  #分割路径,返回路径名和文件扩展名的元组

os.path.splitunc(path)  #把路径分割为加载点与文件


os.path.walk(path, visit, arg)  #遍历path,进入每个目录都调用visit函数,visit函数必须有

3个参数(arg, dirname, names),dirname表示当前目录的目录名,names代表当前目录下的所有

文件名,args则为walk的第三个参数


os.path.supports_unicode_filenames  #设置是否支持unicode路径名



python os.path模块常用方法详解


1.   os.path.abspath(path)   

返回path规范化的绝对路径。

>>> import os    

>>> os.path.abspath('pjc.txt')     

'/home/pjc/pjc.txt'

>>> os.path.abspath('c:\\test.csv')         #Windows主机指定完美的路径    

'c:\\test.csv'  

 

2.os.path.split(path)  


将path分割成目录和文件名二元组返回。

>>> os.path.split('/home/pjc/pjc.txt')    

('/home/pjc', 'pjc.txt')

 

3.os.path.dirname(path)  


返回path最后的文件名。如何path以/或\结尾,那么就会返回空值。即os.path.split(path)的第二个元素。

>>> os.path.dirname('/home/pjc/pjc.txt')    

'/home/pjc'

>>> os.path.dirname('/home/pjc/')               

'/home/pjc'     

>>> os.path.dirname('/home/pjc')     

'/home'

 

4.os.path.exists(path)  

如果path存在,返回True;如果path不存在,返回False。     

>>> os.path.exists('c:\\')   

True   

>>> os.path.exists('c:\\csv\\test.csv')   

False 

 

5.os.path.isabs(path)  

如果path是绝对路径,返回True。

 

6.os.path.isfile(path)  

如果path是一个存在的文件,返回True。否则返回False。     

>>> os.path.isfile('c:\\boot.ini')   

True   

>>> os.path.isfile('c:\\csv\\test.csv')   

False   

>>> os.path.isfile('c:\\csv\\')   

False  

 

7.os.path.isdir(path)    

如果path是一个存在的目录,则返回True。否则返回False。

>>> os.path.isdir('c:\\')   

True   

>>> os.path.isdir('c:\\csv\\')   

False   

>>> os.path.isdir('c:\\windows\\test.csv')   

False

>>> os.path.isdir('/home/pjc')    

True




os.path.abspath(path)   #返回path规范化的绝对路径


>>> os.path.abspath('test.csv')

'C:\\Python25\\test.csv'

>>> os.path.abspath('c:\\test.csv')

'c:\\test.csv'

>>> os.path.abspath('../csv\\test.csv')

'C:\\csv\\test.csv'


os.path.split(path)  #将path分割成目录和文件名二元组返回。


>>> os.path.split('c:\\csv\\test.csv')

('c:\\csv', 'test.csv')

>>> os.path.split('c:\\csv\\')

('c:\\csv', '')


os.path.dirname(path)  #返回path的目录。其实就是os.path.split(path)的第一个元素。


>>> os.path.dirname('c:\\csv\test.csv')

'c:\\'

>>> os.path.dirname('c:\\csv')

'c:\\'


os.path.basename(path)


返回path最后的文件名。如何path以/或\结尾,那么就会返回空值。即os.path.split(path)的第二个元素。

>>> os.path.basename('c:\\test.csv')

'test.csv'

>>> os.path.basename('c:\\csv')

'csv' (这里csv被当作文件名处理了)

>>> os.path.basename('c:\\csv\\')

''

os.path.commonprefix(list)

返回list中,所有path共有的最长的路径。

如:

>>> os.path.commonprefix(['/home/td','/home/td/ff','/home/td/fff'])

'/home/td'


os.path.exists(path)  #如果path存在,返回True;如果path不存在,返回False。

>>> os.path.exists('c:\\')

True

>>> os.path.exists('c:\\csv\\test.csv')

False


os.path.isabs(path)  #如果path是绝对路径,返回True。


os.path.isfile(path)  #如果path是一个存在的文件,返回True。否则返回False。

>>> os.path.isfile('c:\\boot.ini')

True

>>> os.path.isfile('c:\\csv\\test.csv')

False

>>> os.path.isfile('c:\\csv\\')

False


os.path.isdir(path) #如果path是一个存在的目录,则返回True。否则返回False。

>>> os.path.isdir('c:\\')

True

>>> os.path.isdir('c:\\csv\\')

False

>>> os.path.isdir('c:\\windows\\test.csv')

False


os.path.join(path1[, path2[, ...]]) #将多个路径组合后返回,第一个绝对路径之前的参数将被忽略。

>>> os.path.join('c:\\', 'csv', 'test.csv')

'c:\\csv\\test.csv'

>>> os.path.join('windows\temp', 'c:\\', 'csv', 'test.csv')

'c:\\csv\\test.csv'

>>> os.path.join('/home/aa','/home/aa/bb','/home/aa/bb/c')

'/home/aa/bb/c'


os.path.normcase(path)

在Linux和Mac平台上,该函数会原样返回path,在windows平台上会将路径中所有字符转换为小写,并将所有斜杠转换为饭斜杠。

>>> os.path.normcase('c:/windows\\system32\\')

'c:\\windows\\system32\\'


os.path.normpath(path)

规范化路径。

>>> os.path.normpath('c://windows\\System32\\../Temp/')

'c:\\windows\\Temp'


os.path.splitdrive(path)

>>> os.path.splitdrive('c:\\windows')

('c:', '\\windows')


os.path.splitext(path)

>>> os.path.splitext('c:\\csv\\test.csv')

('c:\\csv\\test', '.csv')


os.path.getsize(path)

 返回path的文件的大小(字节)。


 >>> os.path.getsize('c:\\boot.ini')

   299L





os.path模块

basename('文件路径')  去掉目录路径,返回fname文件名



>>> os.path.basename('/home/addam/aa/test.txt')

'test.txt'

dirname('文件路径')   去掉文件名,返回目录路径



>>> os.path.dirname('/home/addam/aa/test.txt')

'/home/addam/aa'

join() 将分离的各部分组合成一个路径名



>>> os.path.join('/addam','test.txt')    

'/addam/test.txt'


split()

  分割文件名与路径;返回(fpath,fname)元组;如果完全使用目录,它也会将最后一个目录作为文件名分离,且不会判断文件或者目录是否存在


>>> os.path.split('/home/addam/aa/test.txt')

('/home/addam/aa', 'test.txt')


os.path.splitext(“文件路径”)    分离文件名与扩展名;默认返回(fname,fextension)元组,可做分片操作


>>> os.path.splitext('/home/addam/aa/test.txt')

('/home/addam/aa/test', '.txt')

>>> os.path.splitext('/home/addam/aa/test.txt')[0]

'/home/addam/aa/test'

>>> os.path.splitext('/home/addam/aa/test.txt')[1]

'.txt'

查询函数:主要是判断真假

exists()    指定路径(文件或者目录)是否存在

 >>> os.path.exists('/home/addam/')           

True


>>> os.path.exists('/home/addam/aa/test.txt')

True

>>> os.path.exists('/home/addam/')       

True

>>> os.path.exists('/home/addam/test')

False

isabs()   指定路径是否为绝对路径



>>> os.path.isabs('/home/addam/')

True

isfile()  指定的路径是否为一个文件



>>> os.path.isfile('/home/addam/aa/test.txt')

True

>>> os.path.isfile('/home/addam/aa')     

False


samefile()   两个路径名是否指向同一个文件


  查询文件信息:


getatime()    返回最近访问时间  (浮点型秒数)



>>> os.path.getatime('/home/addam')

1397222714.6862574

  这种时间戳格式的时间看起来太别扭了,怎么办呢?转换一下吧,利用python自带的time模块



>>> time.strftime('%Y_%m_%d %H:%M:%S',time.localtime(os.path.getatime('/home/addam/aa/test.txt')))

'2014_04_11 21:30:30'


getctime()    返回文件创建时间



>>> time.strftime('%Y_%m_%d %H:%M:%S',time.localtime(os.path.getctime('/home/addam/aa/test.txt')))

'2014_04_11 21:25:25



>>> os.path.getctime('/home/addam')

1397222712.2982574



getmtime()    返回最近文件修改时间

   


>>> time.strftime('%Y_%m_%d %H:%M:%S',time.localtime(os.path.getctime('/home/addam/')))         

'2014_04_11 21:25:12'

   


>>> os.path.getmtime('/home/addam')                                           

1397222712.2982574





os.walk这个某块是遍历一个目录常用的模块,它返回一个包含3个元素的元


组:dirpath,dirnames,filenames.


dirpath是以string字符串形式返回该目录下所有的绝对路径;


dirnames是以列表list形式返回每一个绝对路径下的文件夹名字;


filesnames是以列表list形式返回该路径下所有文件名字。




os.walk 方便很多了.这个方法返回的是一个三元tupple(dirpath, dirnames, filenames),


其中第一个为起始路径,


第二个为起始路径下的文件夹,


第三个是起始路径下的文件.


dirpath是一个string,代表目录的路径,


dirnames是一个list,包含了dirpath下所有子目录的名字,


filenames是一个list,包含了非目录文件的名字.这些名字不包含路径信息,如果需要得到全路径,需要使用 os.path.join(dirpath, name).



os.walk()

函数声明:walk(top,topdown=True,onerror=None)


1>参数top表示需要遍历的目录树的路径


2>参数topdown的默认值是"True",表示首先返回目录树下的文件,然后在遍历目录树的子目录.Topdown的值为"False"时,则表示先遍历目录树的子目录,返回子目录下的文件,最后返回根目录下的文件


3>参数onerror的默认值是"None",表示忽略文件遍历时产生的错误.如果不为空,则提供一个自定义函数提示错误信息后继续遍历或抛出异常中止遍历


4>该函数返回一个元组,该元组有3个元素,这3个元素分别表示每次遍历的路径名,目录列表和文件列表

os,walk()实例:


import os 

def VisitDir(path):

  for root,dirs,files in os.walk(path):

    for filespath in files:

      print os.path.join(root,filespath)

if __name__=="__main__":

path="/root"

VisitDir(path)




os.path.walk()


函数声明:walk(top,func,arg)


1>参数top表示需要遍历的目录树的路径


2>参数func表示回调函数,对遍历路径进行处理.所谓回调函数,是作为某个函数的参数使用,当某个时间触发时,程序将调用定义好的回调函数处理某个任务.回调函数必须提供3个参数:第1个参数为walk()的参数tag,第2个参数表示目录列表,第3个参数表示文件列表


3>参数arg是传递给回调参数func的元组.回调函数的一个参数必须是arg,为回调函数提供处理参数.参数arg可以为空

os.path.walk()实例:


import os,os.path

def VisitDir(arg,dirname,names):

  for filespath in name:

    print os.path.join(dirname,filespath)

if __name__=="__main__":

path="/root"

os.path.walk(path,VisitDir,())



os.path.walk()与os.walk()产生的文件名列表并不相同.


os.path.walk()产生目录树下的目录路径和文件路径,而


os.walk()只产生文件路径


免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

python os.path模块

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

python os.path模块

join:连接字符串数组。将字符串、元组、列表中的元素以指定的字符(分隔符)连接生成一个新的字符串os.path.join():  将多个路径组合后返回一、函数说明1.join()函数语法:‘sep’.join(seq)参数说明:sep:分
2023-01-31

[python] os.path模块常用

os.path.abspath(path) #返回绝对路径os.path.basename(path) #返回文件名os.path.commonprefix(list) #返回list(多个路径)中,所有path共有的最长的路径。os.pa
2023-01-30

Python 中 os.path 模块的

官网文档链接:  https://docs.python.org/3/library/os.path.html概念:  该模块在路径名上实现了一些有用的功能,主要用于文件的属性获取代码实现:os.path.abspath(path)  返回
2023-01-30

Python os和os.path模块怎么用

本文小编为大家详细介绍“Python os和os.path模块怎么用”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python os和os.path模块怎么用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。1、目
2023-06-29

os.path()模块有什么用

这篇文章主要介绍了os.path()模块有什么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。os.path 模块主要用于获取文件的属性。abspath()方法返回一个目录的
2023-06-02

Python的os包与os.path模块怎么用

这篇文章主要介绍了Python的os包与os.path模块怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、os常用方法1.获取当前路径 os.getcwd()# co
2023-06-29

Python中的os.path路径模块中的操作方法总结

解析路径 路径解析依赖与os中定义的一些变量:os.sep-路径各部分之间的分隔符。os.extsep-文件名与文件扩展名之间的分隔符。os.pardir-路径中表示目录树上一级的部分。os.curdir-路径中当前目录的部分。split(
2022-06-04

python模块:smtplib模块

1.使用本地的sendmail协议进行邮件发送格式(1):smtpObj=smtplib.SMTP([host [,port [,local_hostname]]])host:SMTP服务器主机的IP地址或者是域名port:服务的端口号(默
2023-01-31

Python模块:time模块

time模块:python中处理时间的基础模块,有时间戳,元组,自定义,三种时间表现形式。python中时间戳的值是以1970年1月1日0点开始计算的,单位是秒。时间戳:就是两个时间差的数值。时区:传说中在开发服务器/客户端程序时,时区不一
2023-01-31

python os, os.path和s

os:提供与系统交互的接口常用方法:os.name:显示所使用的平台os.system(command):运行shell命令os.getcwd():查看工作目录os.chdir(d):改变工作目录os.listdir(d):查看指定目录下的
2023-01-31

python的os.path函数

os.path.abspath(path) #返回绝对路径os.path.basename(path) #返回文件名os.path.commonprefix(list) #返回list(多个路径)中,所有path共有的最长的路径。os.pa
2023-01-31

Python对文件和目录进行操作的方法(file对象/os/os.path/shutil 模块)

使用Python过程中,经常需要对文件和目录进行操作。所有file类/os/os.path/shutil模块时每个Python程序员必须学习的。 下面通过两段code来对其进行学习。 1. 学习 file对象 2. 学习os/os.path
2022-06-04

使用Python模块:struct模块

Python没有提供直接的将用户定义的数据类型和文件IO关联起来的功能,但是它提供了struct库(是一个内置库)——我们可以以二进制模式来写这些数据(有趣的是,它真的是设计来讲文本数据写为缓存的)1)bytes、strbytes是Pyth
2023-01-31

Python模块

初步认识安装完python后,python自带一部分模块,自带的模块又称作内置模块。其中一部分模块在路径Lib下。(这里的文件夹可以看做包,可以把多个模块放进一个包里)从模块的来源来讲,可以分三种:内置模块、自定义模块(自己定义的)、第三方
2023-01-30

python-模块

一:模块的基本认识:内置模块内置模块是python自带的功能,在使用内置模块相应功能时,需要先导入再使用   第三方模块下载-->安装-->使用1.找到python所在的根目录-->再找到Scripts目录-->最后找到pip.exe2.把
2023-01-31

python - 模块

参考:https://www.cnblogs.com/nulige/p/6166205.html一、模块介绍Python Module(模块),就是一个保存了Python代码的文件。模块能定义函数,类和变量。模块里也能包含可执行的代码。文件
2023-01-31

python模块学习----nmap模块

安装nmap模块:pip install python_nmanmap模块说明:python-nmap是一个帮助使用nmap端口扫描器的python库。它允许轻松操纵nmap扫描结果,并且将是一个完美的选择,为需要自动完成扫描任务的系统管理
2023-01-31

python 模块

python的模块分为2种:1.标准库(不需要安装,直接导入就可以使用的)2.第三方库(必须要手动安装的)先来介绍2个标准库:sys和os#!/usr/bin/envpython#coding:utf-8__author__=www.py3
2023-01-30

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录