[Python进阶] Python中路径问题

2.14 Python中路径问题

2.14.1 路径、当前工作目录

在操作系统中,路径是一种电脑文件或目录的名称的通用表现形式,它指向文件系统上的一个唯一位置。
路径可以分为绝对路径相对路径。绝对路径是从根目录开始的完整路径,相对路径是从当前目录开始的部分路径。
当前工作目录
当前工作目录是文件系统当前所在的目录,如果命令没有额外指定路径,则默认为当前目录。
比如,在“C:\Users\Administrator\Desktop\test”文件夹下双击运行了一个批处理或程序,那么该批处理或程序就会以“C:\Users\Administrator\Desktop\test”作为当前的工作目录。
在批处理中,可以使用cd命令来切换工作目录。例如,如果你想切换到桌面,你可以输入:
cd C:\Users\Administrator\Desktop

2.14.2 绝对路径和相对路径

Windows系统中的绝对路径
在Windows系统中,绝对路径是以盘符:\开始,文件夹或文件之间用\分隔。
例如,在Windows操作系统中,Administrator用户的桌面的默认绝对路径为:
“C:\Users\Administrator\Desktop”
这就是一个绝对路径。如果你在桌面上创建了一个名为“test”的文件夹,那么它的绝对路径就是:
“C:\Users\Administrator\Desktop\test”
Linux系统中的绝对路径
在linux系统中,绝对路径是指从根目录(/)开始的完整的文件路径。绝对路径的表示方法如下:

  • 以 / 开头,表示根目录
  • 以 / 分隔每一级目录和文件名
  • 以文件名结尾,如果是目录则可以省略
    例如:

/home/user/myfile.txt # 绝对路径表示一个文本文件
/usr/bin/Python # 绝对路径表示一个可执行文件
/etc # 绝对路径表示一个目录

Windows系统中的相对路径
在Windows系统中,相对路径是指以当前文件所在的目录为参照基础,链接到目标文件的路径。相对路径的表示方法如下:

  • 以 . 开头,表示当前目录
  • 以 … 开头,表示上一级目录
  • 以 \ 分隔每一级目录和文件名
  • 以文件名结尾,如果是目录则可以省略
    例如:

.\myfile.txt # 相对路径表示当前目录下的一个文本文件
…\user\myfile.txt # 相对路径表示上一级目录下的user目录下的一个文本文件
…\etc # 相对路径表示上两级目录下的一个目录

Linux系统中的相对路径
在linux系统中,相对路径是指从当前目录开始的部分文件路径。相对路径的表示方法如下:

  • 以 . 开头,表示当前目录
  • 以 … 开头,表示上一级目录
  • 以 / 分隔每一级目录和文件名
  • 以文件名结尾,如果是目录则可以省略
    例如:

./myfile.txt # 相对路径表示当前目录下的一个文本文件
…/user/myfile.txt # 相对路径表示上一级目录下的user目录下的一个文本文件
…/…/etc # 相对路径表示上两级目录下的一个目录

通过观察上述内容,我们不难发现,在Windows和Linux系统中,表示相对路径的方法几乎一样,就是分隔每一级目录和文件名的符号不一样,Windows中是通过\分隔,而Linux中是通过/分隔。
路径的作用
1、方便我们访问和管理文件或目录;
2、方便我们设置环境变量和执行程序。

2.14.3 Python中使用绝对路径

在Python编程中,如果要操作文件,比如打开某个txt文本文件,那么如果是通过绝对路径的方法是最简单的,只需要将该文件的绝对路径作为参数传入进去就可以了。
Python中通过绝对路径找寻文件和在其它程序中一样,但是需要注意的是,由于在Windows系统中,路径中是通过\符号作为路径分隔符,而在Python编程中,该符号同时是转义符号。所以,我们在Python中,我们需要在路径的分隔符号之前再添加一个转移符号。

# Windows系统中
with open('E:\\Temp\\test.txt', mode='r', encoding='utf-8') as f:
    print(f.read())

我是文件test.txt中的内容

如果不想这么麻烦,则可以在表示文件路径字符串前添加前缀r,代表该字符串里面的内容不进行转义,保持原样:

# Windows系统中
with open(r'E:\Temp\test.txt', mode='r', encoding='utf-8') as f:
    print(f.read())

我是文件test.txt中的内容

使用绝对路径的优缺点
优点:路径清晰明了,使用简单,同一个文件的绝对路径相同。
缺点:路径可能比较长,如果文件位置变化后,绝对径也要跟着变化。不利于后期维护。

2.14.4 Python中使用相对路径

# Windows系统中
with open('..\\user\\myfile.txt', mode='r', encoding='utf-8') as f:
    print(f.read())

我是文件myfile.txt中的内容

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

0思必得0

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值