python os.path.splitext()的用法_Python成为专业人士笔记–os.path 路径操作

“专业人士笔记”系列目录:创帆云:Python成为专业人士笔记--强烈建议收藏!每日持续更新!​zhuanlan.zhihu.comv2-79d2f18cd5c4ed1bb0f1399162903ba0_180x120.jpg

os.path

这个模块在路径名上实现了一些有用的函数。路径参数可以作为字符串传递,也可以作为字节传递。我们鼓励应用程序将文件名表示为(Unicode)字符串。

Join 函数

要将两个或多个路径组件连接在一起,首先导入python的os模块,然后使用以下代码 :

import os

path=os.path.join('a', 'b', 'c')

print(path)

#输出:a/b/c

使用os.path的优势:允许代码在所有操作系统上保持兼容,因为它使用了与它所运行的平台相适应的分隔符

例如,这个命令在Windows上的结果将是 :

#输出 a\b\c #因为在windows系统,路径是正斜扛

在unix/linux中是:

#输出 a/b/c #因为在unix/linux系统,路径是反斜扛

路径分离

import os

p = os.path.join(os.getcwd(), 'foo.txt')

print(p) #其中os.getcwd函数用于获取当前py文件的工作目录,整体反回当前工作目录+文件名

print(os.path.dirname(p)) # p变量中的路径

print(os.path.basename(p)) # p变量中的文件名

print(os.path.split(os.getcwd())) #获取路径的每个节点

print(os.path.splitext(os.path.basename(p))) #获取文件名与后缀

#输出:

/home/python-study/foo.txt

/home/python-study

foo.txt

('/home', 'python-study')

('foo', '.txt')

获取父目录

接着上面的代码,我们尝试获取p变量的父目录:

import os

p = os.path.join(os.getcwd(), 'foo.txt')

print(p) #其中os.getcwd函数用于获取当前py文件的工作目录,整体反回当前工作目录+文件名

print(os.path.dirname(p)) # p变量中的路径

print(os.path.basename(p)) # p变量中的文件名

print(os.path.split(os.getcwd())) #获取路径的每个节点

print(os.path.splitext(os.path.basename(p))) #获取文件名与后缀

#获取父目录:

print('父目录是',os.path.abspath(os.path.join(p, os.pardir)))

#输出:

/home/python-study/foo.txt

/home/python-study

foo.txt

('/home', 'python-study')

('foo', '.txt')

父目录是 /home/python-study

检查路径是否存在

import os

path = '/home/john/temp'

print(os.path.exists(path))

#如果该路径存在,则返回True,如果不存在,返回false

检查路径属性

我们可以检查给定的路径是否为目录、文件、符号链接、挂载点等 :

import os

dirname = '/home/python-study/'

print('是否为路径?',os.path.isdir(dirname))

filename = dirname + 'main.py'

print(filename)

print('是否为文件',os.path.isfile(filename))

symlink = dirname + 'some_sym_link'

print('是否为软链接?',os.path.islink(symlink))

mount_path = '/'

print('是否为挂载点?',os.path.ismount(mount_path))

#输出:

是否为路径? True

/home/python-study/main.py #这是文件加上后的路径

是否为文件 True

是否为软链接? False

是否为挂载点? True

相对路径转绝对路径

import os

print(os.getcwd())

print(os.path.abspath('foo'))

print(os.path.abspath('../foo'))

print(os.path.abspath('/foo'))

#输出:

/home/python-study

/home/python-study/foo

/home/foo

/foo

今天分享就到这里,禁止转载,违者必究

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值