python关于路径需使用的方法笔记

关于python中有关路径实现代码的方法

    • 常用的python方法
      • join()方法
      • split()方法
    • 关于文件路径\ / // \\的用法解释
      • 斜杠/
      • 反斜杠\
        • 读取某个路径的文件
      • 双斜杠//
      • 双反斜杠\\\
    • os.path库的方法
      • 连接路径与路径或文件名
      • 获取绝对路径
        • 获取当前文件的绝对路径
      • 返回文件名字
      • 返回文件所在文件夹的路径

常用的python方法

join()方法

join()方法是用指定的字符来对序列中的元素进行连接,返回一个字符串
的语法为:str.join(sequence)
str代表连接符号。
sequence指要连接的序列,可以是元组,也可以是列表等。

举例如下:

str="/";
seq=("a","b","c")
print(str.join(seq)) #结果为:
a/b/c

split()方法

方法为split(str, num),根据指定的分隔符对字符串进行切片,返回一个切分成若干个字符串组成的列表。

  • 第一个参数表示指定的分隔符,以该分隔符为界来进行分割,最终返回的结果不包括分隔符本身。
  • 第二参数表示分割的次数,从左往右按分隔符的位置根据次数进行分割,生成num+1个字符串。该参数可以省略,省略则表示对所有的该分隔符所在的位置进行分割。

举例如下:

#对上述的cur_path进行分割print(cur_path)
print(cur_path.split('\\'))  #使用\的转义字符来表示\
print(cur_path.split('\\',2)) 
print(cur_path.split('\\',2)[2])#结果依次为:
C:\Users\13451\Desktop\tong2.py
['C:', 'Users', '13451', 'Desktop', 'tong2.py']
['C:', 'Users', '13451\\Desktop\\tong2.py'] #分割两次
13451\Desktop\tong2.py 

关于文件路径\ / // \的用法解释

斜杠/

斜杠/表示url地址(远程网络地址)中使用的分隔符。

另外斜杠/也可以表示Unix内核的目录以及window本地文件的分隔符。

反斜杠\

反斜杠\表示windows本地文件的分隔符。
如:C:\Users\13451\Desktop\tong2.py

另外反斜杠还可以参与构成转移字符。
如果反斜杠\在地址中被当作转义字符,有两种解决办法:

#1.使用\\转移字符来表示\
path1="C:\\Users\\13451\\Desktop\\1.txt"
#2.在地址字符串前加个r
path2=r"C:\Users\13451\Desktop\1.txt"

读取某个路径的文件

根据下面四种路径都能读取文件,达到一样的效果。说明了读取本地文件路径的时候,斜杠和反斜杠没有区别。

x1="C:/Users/13451/Desktop/1.txt"
x2=r"C:\Users\13451\Desktop\1.txt"
x3="C:\\Users\\13451\\Desktop\\1.txt"
x4="C:/Users\\13451/Desktop/1.txt"  #斜杠/和反斜杠\混用print('x1',x1)  #x1 C:/Users/13451/Desktop/1.txt
print('x2',x2)  #x2 C:\Users\13451\Desktop\1.txt
print('x3',x3)  #x3 C:\Users\13451\Desktop\1.txt
print('x4',x4)  #x4 C:/Users\13451/Desktop/1.txtwith open(x1) as f:  #替换成x2,x3,x4结果都是一样的print(f.read())

双斜杠//

双斜杠//用在网络域名访问中,是协议和主机名或IP地址之间的分隔符,以双斜杠//开头的URL是依赖协议的URL表示形式。
URL格式:协议://域名或ip/请求文件路径/文件名。

双反斜杠\\

双反斜杠\\在windows里表示绝对地址的第一项,后面跟IP地址或计算机名,就是需要打开这个IP地址或计算机名对应主机的网络共享资源。

os.path库的方法

连接路径与路径或文件名

os.path.join()用来连接路径名,相当于默认使用了反斜杠\作为连接符号使用join()函数,经常用来把目录和文件合成一个路径。
注意:如果有一个组件是一个绝对路径(也就是用了/),则在它之前的所有要连接的数据均会被舍弃。

str1='saber'
str2='rin'
str3='sakura'
str4='/iriya'
print(os.path.join(str1,str2,str3))
print(os.path.join(str1,str2,str3,str4)) #str4使用了/,则之前的数据都舍弃#结果:
saber\rin\sakura
/iriya

获取绝对路径

使用os.path.abspath(path)

获取当前文件的绝对路径

使用os.path.abspath(__file__)

import os
cur_path=os.path.abspath(__file__)  #获取当前文件的绝对路径#结果:
C:\Users\13451\Desktop\tong2.py

返回文件名字

使用os.path.basename(path)

path="C:/Users/13451/Desktop/1.txt"
print(os.path.basename(path))#结果:
1.txt

返回文件所在文件夹的路径

使用os.path.dirname(path)

path="C:/Users/13451/Desktop/1.txt"
print(os.path.dirname(path))#结果:
C:/Users/13451/Desktop

关于其他os.path模块的方法可见:Python3 os.path() 模块

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/333863.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

不同的Hibernate命名策略

本文讨论了hibernate提供的不同命名策略,以及命名策略从hibernate 4中的hibernate.ejb.naming_strategy到hibernate 5中的hibernate.implicit_naming_strategy和hibernate.physical_naming_strategy的转变。最后,我们将研究一下在Hibernate和配置中实施自…

设置按峰值带宽计费_西部数码使用指南:云服务器计费模式说明

版权归西部数码所有,原文链接:https://www.west.cn/faq/list.asp?unid2370一、付费模式1、包年包月先付费后使用模式,资源固定,按年或者按月付费购买可享受较大的价格优惠,帮您更大程度节省支出,并且时间固…

信号处理基本概念

信号处理 信号是传递信息的函数,也是独立变量的函数,这个变量可以是时间空间位置等。如图像的灰度值等就是空间位置的函数,声压随着时间在变化,就是时间的函数。 连续信号就是在某个时间区间,除有限间断点外所有瞬时…

如何理解计算机程序中的宏?

计算机科学里的宏是一种抽象(Abstraction),它根据一系列预定义的规则替换一定的文本模式。解释器或编译器在遇到宏时会自动进行这一模式替换。对于编译语言,宏展开在编译时发生,进行宏展开的工具常被称为宏展开器。 宏…

过滤器过滤特定的url_如何从过滤器中排除URL

过滤器过滤特定的url默认情况下,过滤器不支持排除特定的URL模式,每当您为过滤器定义URL模式时,任何与该模式匹配的请求都将由过滤器无例外处理。 从过滤器中排除URL的最简单方法是将过滤器映射到非常特定的模式。 在早期开发阶段完成此操作是…

计算机网络视频笔记

计算机网络计算机网络和互联网计算机网络(简称网络)internet(互连网)网络的组成网路边缘网络核心应用层传输层(运输层)网络层:数据链路层和局域网物理层网络安全无线和移动网络多媒体网络网络管理计算机网络和互联网 计算机网络(简称网络) 由若干结点和连接这些结…

一个dsp最小系统至少要有_DSP最小系统电路设计

DSP最小系统电路设计第1章绪论DSP有两种涵义,一种是Digital Signal Processing,指的是数字信号处理技术;一种是DigitalSignalProcessor,指的是数字信号处理器。两者是不可分割的,前者是理论上的技术,要通过…

g++默认字符集utf-8_Java可能使用UTF-8作为其默认字符集

g默认字符集utf-8由于基于Java的应用程序通常用于各种各样的操作系统和环境中,因此Java开发人员会遇到与基于字符的输入和输出有关的问题并不少见。 涉及这些问题的博客文章包括《警察的恐怖:默认语言环境,默认字符集和默认时区》 &#xff1…

Linux 的权限表达式

文章目录一、采用权限字母和操作符表达式(一)授权对象(二)权限字母符号二、采用权限数字表达式(一)权限数字(二)权限组合(三)命令 chmod 后面的数字含义一、采…

nat 网卡间数据包转发_nat端口转发示例

nat端口转发示例环境:A服务器: 网卡1:192.168.1.151 网卡2:10.10.69.10B服务器: 网卡1:10.10.69.41要求:访问192.168.1.151:1521 即访问 10.10.69.41:1521启用端口转发:echo 1 > /proc/sys/net/ipv4/ip_forward清空…

精通 RPM 之查询篇

文章目录一、命令格式二、选项详解(一)查询所有已安装的软件包(二)查询有哪些软件包属于指定的类别(三)查询有哪些软件包拥有指定文件(四)查询有哪些包需要指定功能(五&a…

如何判断2服务器性能好或坏_无服务器革命:好,坏和丑

如何判断2服务器性能好或坏“这是愚蠢的。 比愚蠢还糟:这是一场营销炒作。” ‐ 理查德斯托曼 ( Richard Stallman)对云计算的评论,2008年9月 而且,十年后,当有人提到这个词时,您开始三思而后…

datax 持续数据同步_采用DataX实现多表增量数据同步

这两天验证了一下阿里的DataX数据同步工具,觉得DataX可以用来做管理数据的多级数据同步。DataX用来做批量数据迁移很适合,能够保证数据的一致性,性能也很好,结合时间戳字段,用来实现数据定时增量同步也是可以的&#x…

Linux RPM包校验和数字证书

文章目录一、Linux RPM 包校验二、Linux RPM 数字证书验证(一)使用数字证书验证 RPM 包的步骤(二)安装/卸载数字证书为了能够及时发现文件误删、误修改文件数据、恶意篡改文件内容等问题,Linux 提供了以下两种检测方式…

java 字符串文字筛选_Java的原始字符串文字

java 字符串文字筛选似乎“ 原始字符串文字 ”即将出现在Java中。 JEP 326开始的(“原始字符串字面量”) 发行JDK-8196004 ,并宣布为“新JEP候选人” 3月2日的JEP和相关问题的人指出,“Java的仍然是一小群现代编程语言中的一个不为…

计算机系统常识笔记

计算机系统常识操作系统篇LinuxWindowsAndroidIOSUNIXGNU(GNUs Not Unix!)MacOSDOS处理器(CPU)篇x86ARM处理器显卡(GPU)篇分类性能指标显示存储器显卡频率显存类型流处理器单元显存位宽总线接口类型按当前主流显卡等级划分编译器篇公司篇IntelAMDNVIDIAMicrosoft(微软)IBMOracl…

jsr303jsp页面怎么显示错误信息_springmvc使用JSR-303进行数据校验实例

项目中,通常使用较多的是前端的校验,比如页面中js校验以及form表单使用bootstrap校验。然而对于安全要求较高点建议在服务端进行校验。服务端校验:控制层controller:校验页面请求的参数的合法性。在服务端控制层controller校验&am…

spring @lazy_Spring @Lazy批注用例

spring lazySpring框架几乎可以毫不费力地为您解决许多常见的编程问题,但是其某些功能比其他功能鲜为人知。 在本文中,我们将仔细研究属于该组的Lazy批注。 阅读了几个示例之后,您应该能够将注释应用于日常开发任务。 1. 懒豆初始化 Spring的…

什么是虚数

在数学中,虚数就是形如 ab*i 的数,其中 a、b 是实数,且 b≠0,i -1。虚数这个名词是 17 世纪著名数学家笛卡尔创立,因为当时的观念认为这是真实不存在的数字。后来发现虚数 ab*i 的实部 a 可对应平面上的横轴&#xff…

计算机网络--接入互联网方式

接入网 指将端系统物理连接到其边缘路由器的网络。边缘路由器是端系统到任何其他远程端系统的路径上的第一台路由器。 1.家庭接入互联网方式 一般通过DSL、电缆、FTTH、拨号和卫星接入。 数字用户线(DSL) 住户通常从提供本地电话接入的本地电话公司处获得DSL因特网接入。因…