Python文件及目录操作(目录操作篇)

在这里插入图片描述​ 

活动地址:CSDN21天学习挑战赛

学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰。

学习日记

目录

学习日记

一、前言

二、目录操作

 1、os和os.path模块

os模块提供的一些操作目录的函数

os.path模块提供的一些操作目录的函数

2、路径

相对路径

绝对路径

拼接路径

3、判断目录是否存在

4、创建目录

创建一级目录

创建多级目录

5、删除目录

6、遍历目录

例 

 Python文件及目录操作文章总览


一、前言

  在变量、序列和对象中储存的数据是暂时的,程序结束后就会丢失。为了能够永久的储存程序中的数据,需要将程序中的数据保存到磁盘文件中。Python提供内置文件的对象,还提供了对文件和目录进行操作的内置模块。通过这些技术可以很方便的将数据保存到文件(文本文件等),以达到永久储存数据的目的。

 本章节将分为“基本文件操作”、“目录操作”、“高级文件操作”三个模块讲解。 

二、目录操作

        目录也称文件夹,用于分层保存文件。通过目录可以分门别类地储存文件,以便需要时能够快速查找。常用的目录操作主要有判断目录是否存在、创建目录、删除目录和遍历目录等。 

 1、os和os.path模块

导入os模块

import os

通过os模块提供的通用变量可以获取与系统有关的信息。常用的变量有:

name:用于获取操作系统的类型。

linesep:用于获取当前操作系统上的换行符。

sep:用于获取当前操作系统所使用的路径分隔符。 

os模块提供的一些操作目录的函数

 os模块提供的与目录相关的函数

getcwd()

返回当前的工作目录

listdir(path)

返回指定路径下的文件和目录信息

mkdir(path [,mode])

创建目录

makedirs(path1/path2…[,mode])

创建多级目录

rmdir(path)

删除目录

removedirs(path1/path2……)

删除多级目录

chdir(path)

把path设置为当前工作目录

walk(top[,topdown[,onerror]])

遍历目录树,该方法返回一个元组,包括所有路径名、所有目录列表和文件列表3个元素

os.path模块提供的一些操作目录的函数

 os.path模块提供的与目录相关的函数

abspath(path)

用于获取文件或目录的绝对路径

exists(path)

用于判断目录或者文件是否存在,如果存在则返回True,否则返回False

join(path,name)

将目录与目录或者文件名拼接起来

splitext()

分离文件名和扩展名

basename(path)

从一个目录中提取文件名

dirname(path)

从一个路径中提取文件路径,不包括文件名

isdir(path)

用于判断是否为路径

2、路径

        用于定位一个文件或者目录的字符串被称为一个路径。通常在程序开发时涉及两种路径,一种是相对路径,一种是绝对路径。

相对路径

        当前工作目录是指当前文件所在的目录。在Python中,os模块提供的getcwd()函数可以获取当前工作目录,例如,在E:\a,文件中。

import os
print(os.getcwd())

将显示

E:\a

        相对路径就是依赖当前工作目录的。如果在当前工作目录下有一个名称为message.txt的文件,那打开这个文件时,就可以直接写上文件名。这时采用的就是相对路径,message.txt文件的实际路径就是当前工作目录“E:\xxx\xxx”+相对路径“message.txt”,即E:\xxx\xxx\message.txt

绝对路径

        绝对路径是指在使用文件时指定文件的实际路径。它不依赖于当前工作目录。在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\demo\message.txt

拼接路径

如果想把两个或多个路径拼接在一起,可以使用join()函数实现。

os.path.join(path1[,path2[,……]])

path1,path2用于代表要拼接的文件路径,之间使用逗号分隔。如果要拼接的路径中没有一个绝对路径,那最后拼接的结果就是相对路径。

#

        使用os.path.join()函数拼接路径时,并不会检测该路径是否真实存在。

        把两个路径拼接为一个路径时,不要直接使用字符串拼接。

3、判断目录是否存在

使用os.path的exists()函数

os.path.exists(path)

path:要判断的目录,可以用绝对路径,也可以用相对路径。

返回值:若给定的路径存在,返回True,反之返回False。 

4、创建目录

欧式模块有两个创建目录的函数,一个用来创建一级目录,一个用来创建多级目录。

创建一级目录

os.mkdir(path, mode=0o777)

path:指定要创建的目录,可以用绝对路径,也可以用相对路径。

mode:用于指定数值模式,默认值为0o777。

创建多级目录

os.makedirs(name, mode=0o777)

path:指定要创建的目录,可以用绝对路径,也可以用相对路径。

mode:用于指定数值模式,默认值为0o777。

5、删除目录

        删除目录可以使用rmdir()函数实现。通过rmdir()函数删除目录时,只有当要删除目录为空时才起作用。

os.rmdir(path)

path:要删除的目录,可以用绝对路径,也可以用相对路径。

6、遍历目录

​        对指定的目录下的全部目录(包括子目录)及文件全运行一遍,叫遍历。可以使用walk()函数来实现。

os.walk(top[, topdown][, onerror][, followlinks])

top:指定要遍历内容的根目录。

topdown:可选参数,用于指定遍历的顺序。若值为True,表示自上而下遍历(先遍历根目录),若值为 False,表示自下而上遍历。(默认值为True)

onerror:可选参数,用于指定错误处理方式,默认忽略,使用时指定一个错误处理函数即可。

followlinks:可选参数,默认情况下将参数值设为True。

返回值:返回三个元素(dirpath, dirnames, filenames)

例 

        遍历目录,创建一个名为walk_list.py的文件,导入os后定义遍历根目录,用for循环遍历该命令,最后循环输出遍历到的文件和子目录。

import os   # 导入os模块
path = "C:\\demo"       # 指定要遍历的根目录
print("【",path,"】 目录下包括的文件和目录:")
for root, dirs, files in os.walk(path, topdown=True):  # 遍历指定目录
    for name in dirs:            # 循环输出遍历到的子目录
        print("∏",os.path.join(root, name))
    for name in files:           # 循环输出遍历到的文件
        print("≌",os.path.join(root, name))

 Python文件及目录操作文章总览

Python文件及目录操作(基本文件操作篇)

Python文件及目录操作(目录操作篇)

Python文件及目录操作(高级文件操作篇) 

  • 12
    点赞
  • 76
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Python中的文件目录可以通过使用os模块来获取和操作。可以使用os.getcwd()函数来获取当前工作目录。例如,在E:\a文件中,可以通过以下代码获取当前工作目录: import os print(os.getcwd()) 此外,还可以使用os.walk()函数遍历指定目录下的文件和子目录。以下是一个示例代码: import os path = "C:\\demo" # 指定要遍历的根目录 print("【",path,"】 目录下包括的文件目录:") for root, dirs, files in os.walk(path, topdown=True): # 遍历指定目录 for name in dirs: # 循环输出遍历到的子目录 print("∏",os.path.join(root, name)) for name in files: # 循环输出遍历到的文件 print("≌",os.path.join(root, name)) 另外,如果想获取文件的绝对路径,可以使用os.path模块提供的abspath()函数。该函数可以将相对路径转换为绝对路径。例如: import os file_path = "relative_path.txt" absolute_path = os.path.abspath(file_path) <span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Python文件目录操作目录操作)](https://blog.csdn.net/m0_63794226/article/details/126435297)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

醉蕤

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

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

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

打赏作者

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

抵扣说明:

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

余额充值