原创 12. 数据放在本地,心里才更踏实,滚雪球学 Python

发布时间:2021-06-24 17:56:47 浏览 550 来源:猿笔记 作者:梦想橡皮擦

    本篇文章要讲解的内容是Python文件操作的相关内容,电脑文件的操作是任何一门编程语言都会涉及的知识。本篇博客主要围绕Windows电脑上的文件操作进行说明,毕竟看到本博客内容的同学大多数都是使用的Windows电脑。对电脑文件和文件夹已经比较熟悉了,但是文件路径可能就不太清楚了,本文开篇先介绍一下文件路径相关问题。在上图所示位置发现的一个**地址**就是文件路径,对于电脑上任一文件都可以用文件路径+文件名访问到,一般情况下理解为**绝对路径**是从根目录开始描述的路径。在Python中操作文件路径。


    今天是持续写作的第12/100天。

    如果你有想法和技术想交流,请在评论区留言。

    本文内容与Python文件操作相关。雪球第一次学Python已经进行到一半了。还能坚持吗?来吧。

    # #已完成的文章

    -[1.这才是Python学习的正确起手姿势,滚雪球学Python](

    -2.无门槛学习数据类型和输入输出函数,滚雪球学习Python](

    -[3.无转折不编程,滚雪球学Python](

    -[4.列表一学完,Python会一半,滚雪球学Python](

    -5.Python循环的本质是一段代码懒得重复](

    -[6.Python元组,不可变的列表,滚雪球学Python](

    -7.可以查新华字典吗?是的。Python词典已经掌握](

    -[8.秘Python集合三板斧,滚雪球学Python](

    -9.Python学习过程的第一个山坡,99%的人都倒在山坡下](

    -10.比找女朋友难的技术点,Python是面向对象的](

    -11.用别人写的代码来完成我的工作,用剩下的时间去钓鱼](

    #十二、Python文件读取与写入

    计算机文件的操作是任何编程语言所涉及的知识。本博客主要关注Windows电脑上文件的操作。毕竟看到这个博客内容的大部分同学都用的是Windows电脑。

    ##12.1文件夹和文件路径

    不用说,没有电脑就学不会编程。您熟悉计算机文件和文件夹,但文件路径可能不清楚。在本文的开头,我们将介绍一些与文件路径相关的问题。

    打开电脑上任意一个文件夹,上图中找到的一个* *地址* *就是文件路径。您计算机上的任何文件都可以通过使用文件路径+文件名来访问。

    pythonC:\\Users\\Administrator\\Desktop\\书籍封面\\abc.png

    除了最后一个文件名,第一个是文件路径。

    例如对于`abc.png`文件,它的文件路径是`C:\\Users\\Administrator\\Desktop\\书籍封面`。文件路径可称作**文件目录**或者**文件所在文件夹**。

    ###12.1.1绝对路径和相对路径

    题目的这两个概念很有意思,第一次学的时候很容易混淆。

    先记住绝对路径,意思是绝对不变。

    例如上述文件`abc.png`它的绝对路径就是硬盘上的一个不会变的地址,即`C:\\Users\\Administrator\\Desktop\\书籍封面`就是它的绝对路径。

    一般理解为* *绝对路径* *是从根目录描述的路径。

    相对路径,关键字是相对的,相对是相对于当前目录的。这个需要结合案例研究,后面会补充。

    还有两个知识点需要补充。`.`是的,它是一个点,表示当前文件夹;` ..`两点代表下一级文件夹。

    ###12.1.2os模块与os.path模块

    Python中的操作文件路径,使用os模块,os.path模块是os模块内部的一个子模块,先导入。

    pythonimportos

    **获取当前Python文件的目录**

    Getcwd方法可以获取当前Python文件所在的工作目录,即当前文件所在的文件夹,并获取绝对地址,如下面的代码。

    pythonimportosprint(os.getcwd())

    **获取绝对路径os.path.abspath**

    os.path模块中的abspath方法可以返回一个绝对路径,你可以先通过help函数检查这个方法的用法。

    pythonimportoshelp(os.path.abspath)

    注意学习返回结果。学编程对英语要求不是很高,但是你要知道一些常用词。

    bashHelponfunctionabspathinmodulentpath:abspath(path)Returntheabsoluteversionofapath.

    “ab path”方法需要一个参数“path”,即返回绝对路径所基于的路径。

    例如,这段代码返回demo4.py文件的绝对路径

    pythonimportosret=os.path.abspath("demo4.py")print(ret)

    **获取相对路径os.path.relpath**

    绝对路径返回从根目录开始的路径值,但相对路径不同。由于这个方法叫做relative,它需要一个relative对象,所以这个方法的语法格式如下:

    pythonos.path.relpath(path,start)

    -path是获取绝对路径的地址值,描述起来比较复杂,后面会看代码;

    -start相对的对象值。

    pythonimportosret=os.path.relpath("D:\\\\")print(ret)

    获取此目录的相对地址。对于其地址,不写start参数,相对于当前工作目录,也就是Python文件所在的目录。你已经知道当前Python文件位于` D:/gun/2 `。

    首先考虑如何获取` d: \ \ \ `相对于` D:/gun/2 ',应该是父目录的父目录。怎么用代码表达?我已经学会了父目录(上层文件夹)的表示法...`,所以写`...\ \ ..`.理清逻辑后,

    bash..\\..

    将` path `参数修改为与Python文件目录一致的值,并查看相对路径是否为`。`,表示当前目录。

    pythonimportosret=os.path.relpath("d:\\\\gun\\\\2")#或者写成下面这个样子#ret=os.path.relpath("d:/gun/2")print(ret)

    结果输出是`。`,这是期望值。

    如果学起来很难,不要着急,那就往下看,慢慢就会体会到。

    ###12.1.3路线检查方法

    检查路径的目的是检查文件或文件夹是否存在,或者判断路径是否对应于文件夹或文件。

    -exists(path)如果path文件或文件夹存在返回True,否则返回False;

作者信息

梦想橡皮擦 [等级:3] 全能工程师
发布了 103 篇专栏 · 获得点赞 240 · 获得阅读 80205

相关推荐 更多