重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
Python截取路径中的文件名
网站建设哪家好,找创新互联!专注于网页设计、网站建设、微信开发、成都微信小程序、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了贵德免费建站欢迎大家使用!
假设有一个文件的路径名为:“K:\Project\FilterDriver\DriverCodes\hello.txt”,而且路径和文件名都不是固定的。如何得到hello.txt这段字符串呢?
一、字符串分割–split()函数
1
2
path="K:/Project/FilterDriver/DriverCodes/hello.txt"
printpath.split("/")[-1]
执行结果:hello.txt。
二、使用basename()函数
1
2
3
import os.path
filePath="K:/Project/FilterDriver/DriverCodes/hello.txt"
printos.path.basename(filePath)
执行的结果仍然是hello.txt。
你可以使用Python中的截取函数[-3:]来表示字符串的后三位,例如:str = 'HelloWorld' print(str[-3:]),将会打印出“rld”。
示例代码
启动ipython先导入re模块
这里我用到了findall全局匹配,分为两部分,前面是正则,后面是要匹配的字符串
得到一个元祖
通过变量a 就能打印出想要的字符串
扩展资料
在 Python 中,我们可以使用内置的 re 模块来使用正则表达式,re 模块提供了不少有用的函数,用以匹配字符串,比如:
re 模块的一般使用步骤如下:
使用 compile 函数将正则表达式的字符串形式编译为一个 Pattern 对象
通过 Pattern 对象提供的一系列方法对文本进行匹配查找,获得匹配结果(一个 Match 对象)
最后使用 Match 对象提供的属性和方法获得信息,根据需要进行其他的操作
findall 方法的使用形式如下:
findall(string[, pos[, endpos]])
其中,string 是待匹配的字符串,pos 和 endpos 是可选参数,指定字符串的起始和终点位置,默认值分别是 0 和 len (字符串长度)。
findall 以列表形式返回全部能匹配的子串,如果没有匹配,则返回一个空列表。
可以参考下面的代码:
#!/usr/bin/python
# encoding: utf-8
# filename: baiduzhidao.py
ln = "4564612131856+654654654654"
print ln.split("+")
#~ Result:
#~ python -u "baiduzhidao.py"
#~ ['4564612131856', '654654654654']
#~ Exit code: 0 Time: 0.052
Python在设计上坚持了清晰划一的风格,这使得Python成为一门易读、易维护,并且被大量用户所欢迎的、用途广泛的语言,设计者开发时总的指导思想是,对于一个特定的问题,只要有一种最好的方法来解决就好了。
Python本身被设计为可扩充的。并非所有的特性和功能都集成到语言核心。Python提供了丰富的API和工具,以便程序员能够轻松地使用C语言、C++、Cython来编写扩充模块。
Python是完全面向对象的语言。函数、模块、数字、字符串都是对象。并且完全支持继承、重载、派生、多继承,有益于增强源代码的复用性。
扩展资料:
python参考函数
vars(obj) 返回一个object的name space。用dictionary表示
locals() 返回一个局部name space,用dictionary表示
globals() 返回一个全局name space,用dictionary表示
type(obj) 查看一个obj的类型
isinstance(obj,cls) 查看obj是不是cls的instance
issubclass(subcls,supcls) 查看subcls是不是supcls的子类
参考资料来源:百度百科-Python (计算机程序设计语言)