自学python怎样成为大佬(目次):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm=1001.2014.3001.5501
用于定位一个文件或者目次的字符串被称为一个路径。在程序开发时,通常涉及两种路径,一种是相对路径,另一种是绝对路径。
(1)相对路径
在学习相对路径之前,必要先了解什么是当前工作目次。当前工作目次是指当前文件地点的目次。在Python中,可以通过os模块提供的getcwd()函数获取当前工作目次。比方,在E:\program\Python\Code\demo.py文件中,编写以下代码:
import os
print(os.getcwd()) # 输出当前目次
实行上面的代码后,将显示以下目次,该路径就是当前工作目次。
E:\program\Python\Code
相对路径就是依赖于当前工作目次的。如果在当前工作目次下,有一个名称为message.txt的文件,那么在打开这个文件时,就可以直接写上文件名,这时采用的就是相对路径,message.txt文件的实际路径就是当前工作目次“E:\program\Python\Code”+相对路径“message.txt”,即“E:\program\Python\Code\message.txt”。
如果在当前工作目次下,有一个子目次demo,并且在该子目次下保存着文件message.txt,那么在打开这个文件时就可以写上“demo/message.txt”,比方下面的代码:
with open("demo/message.txt") as file: # 通过相对路径打开文件
pass
说明:在Python中,指定文件路径时必要对路径分隔符“\”进行转义,即将路径中的“\”替换为“\\”。比方对于相对路径“demo\message.txt”必要使用“demo\\message.txt”代替。另外,也可以将路径分隔符“\”采用“/”代替。
多学两招:在指定文件路径时,也可以在表示路径的字符串前面加上字母r(或R),那么该字符串将原样输出,这时路径中的分隔符就不必要再转义了。比方,上面的代码也可以修改为以下内容:
with open(r"demo\message.txt") as file: # 通过相对路径打开文件
pass
(2)绝对路径
绝对路径是指在使用文件时指定文件的实际路径。它不依赖于当前工作目次。在Python中,可以通过os.path模块提供的abspath()函数获取一个文件的绝对路径。abspath()函数的根本语法格式如下:
os.path.abspath(path)
此中,path为要获取绝对路径的相对路径,可以是文件也可以是目次。
比方,要获取相对路径“demo\message.txt”的绝对路径,可以使用下面的代码:
import os
print(os.path.abspath(r"demo\message.txt")) # 获取绝对路径
如果当前工作目次为“E:\program\Python\Code”,那么将得到以下结果:
E:\program\Python\Code\demo\message.txt
(3)拼接路径
如果想要将两个或者多个路径拼接到一起构成一个新的路径,可以使用os.path模块提供的join()函数实现。join()函数根本语法格式如下:
os.path.join(path1[,path2[,……]])
此中,path1、path2用于代表要拼接的文件路径,这些路径间使用逗号进行分隔。如果在要拼接的路径中,没有一个绝对路径,那么末了拼接出来的将是一个相对路径。
留意:使用os.path.join()函数拼接路径时,并不会检测该路径是否真实存在。
比方,必要将“E:\program\Python\Code”和“demo\message.txt”路径拼接到一起,可以使用下面的代码。
import os
print(os.path.join("E:\program\Python\Code","demo\message.txt")) # 拼接字符串
实行上面的代码,将得到以下结果:
E:\program\Python\Code\demo\message.txt
说明:在使用join()函数时,如果要拼接的路径中,存在多个绝对路径,那么以从左到右为序末了一次出现的路径为准,并且该路径之前的参数都将被忽略。比方,实行下面的代码:
import os
print(os.path.join("E:\\code","E:\\python\\mr","Code","C:\\","demo")) # 拼接字符串
将得到拼接后的路径为“C:\demo”。
留意:把两个路径拼接为一个路径时,不要直接使用字符串拼接,而是使用os.path.join()函数,这样可以正确处理惩罚差异操作系统的路径分隔符。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |