百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

Python学习笔记之四:os和os.path文件路径模块

off999 2024-10-15 12:10 57 浏览 0 评论

Python中操作文件和路径使用Python内置模块os。os模块提供了文件和目录等操作,并且是跨平台的。

os模块只是提供了一些很基础的路径操作,os.path模块提供了一些文件和目录的查询操作。而Python内置模块shutil提供了一些更高级的操作,比如移动文件、复制文件、递归删除目录等,这些都是os和os.path模块没有的,所以一定要掌握。

os模块

os模块是Python基础模块之一,其提供了很多与操作系统交互的api。例如,获取操作系统的变量:

获取操作系统变量

执行系统命令

在Python中执行外部程序或系统命令,最早的方式是使用os.system()函数:

os.system()

比如,我们也可以在os.system()中执行java命令等。

注意:在windows中,os.system()与当前Python程序是异步执行的,即os.system()启动了外部程序之后,当前Python程序仍然会继续运行。而在Unix中,当前Python程序会等待os.system()执行完成再往下继续往下执行。

获取当前工作目录

获取当前目录,可以使用方法getcwd()或者属性curdir,其中curdir会返回一个点号,代表当前目录,而getcwd()会返回当前目录的完整路径,例如:

getcwd()

重命名文件或目录

文件和目录重命令,在Python中是使用rename或renames方法。如:

重命名

注意,重命名其实不能对目录进行重命名。

列出当前目录下所有文件和目录

os.listdir(dirpath) # 该方法可以获取参数dirpath目录下,所有文件名和目录名(除了.和..),隐藏的文件和目录也会被列出来。

os.chdir(dirpath) # 这个方法可以将当前工作目录改变为指定的dirpath路径。

listdir

创建文件?

这个很遗憾,Python没有提供创建文件的操作,我们可以使用:

with open('D:\\Python36\\newfile.txt', 'r+') as f:

pass

来创建一个名为newfile.txt的文件。

创建目录

Python提供了两个方法来创建目录:

  1. os.mkdir(dirpath) # 创建目录dirpath。如果dirpath中间有某个路径不存在,则该方法会报错。只能创建最低一级的那级目录。

  2. os.makedirs(dirpath) # 递归地创建目录dirpath,如果dirpath中间有某个路径不存在,则会创建该路径,然后继续递归创建下一级目录。

例如:

mkdir

删除文件

删除文件和目录,应该使用os.remove()或os.rmdir()。例如:

os.remove()

注意,rmdir只能删除空目录,如果要删除的目录不为空,则会抛出异常。如果需要强制删除非空目录,应该使用shutil模块的rmtree()方法。

os.path模块

os.path是os下的子模块,其提供了文件路径等很方便的查询操作。

分割

分割目录与文件名:

os.path.split(path)

该函数可以把path表示的路径分割成(目录名, 文件名)的元组形式,而不管path是否真的存在。

如:

os.path.split(r"C:\Python36\file.txt")

将会返回:

(r"C:\Python36", r"file.txt")

分割路径与文件扩展名,有时候,我们需要得到一个文件的扩展名,我们只有文件的路径,如果自己去解析的话有点麻烦,其实我们可以使用:

os.path.splitext(path)

该函数可以把path表示的路径分割成(路径前缀, 扩展名)的元组形式,而不管path是否真的存在。

如:

os.path.splitext(r"F:\mydir\1.mp4")

将会返回:

("F:\\mydir\\1", ".mp4")

连接

有了分割就应该有对应的连接。如果我们拿到了一个目录名与一个文件名,想把这两个连接起来,我们一般会使用斜杠"/"连接,但是路径分隔符"/"其实是与操作系统相关的,在windows中是"\\",在Unix中是"/",比较麻烦。我们可以使用join()方法来连接:

os.path.join(dirpath, filename)

该函数会把dirpath和filename用当前操作系统的路径分隔符连接起来,而不用我们去判断当前操作系统的路径分隔符是"\\"还是"/"了。

获取目录名和文件名

给定一个路径,获取目录名或者文件名该怎么操作?

os.path.dirname(path)

该函数返回path的目录路径,例如:

os.path.dirname(r"E:\temp\folder1")

将会返回:

E:\temp

os.path.basename(path)

该函数返回path的文件名,例如:

os.path.basename(r"E:\temp\folder1")

将会返回:

folder1

判断文件或目录

判断

文件大小

在Python中要获取文件大小应该使用:

os.path.getsize(path)

该函数返回文件的字节数,如果path路径不存在,则会报错。

shutil模块

shutil模块提供了一些更高级的操作,比如移动文件,复制文件,删除目录等,一定要掌握。

shutil模块

更多文章

  1. Python学习笔记之一:字符串常用操作和格式化高级操作

  2. Python学习笔记之二:列表、集合、字典

  3. Python学习笔记之三:正则表达式和文件操作

  4. 爬虫进阶:CrawlSpider爬取169ee全站美女图片

  5. Python网络爬虫:空姐网、糗百、xxx结果图与源码

  6. Python网络爬虫requests、bs4爬取空姐网图片

相关推荐

如何用手机设置无线路由器密码

首先打开你的手机,在设置中确认连接上你的wifi之后,任意打开一个浏览器,输入“tplogin.cn”;进入页面可以看见一个输入框,输入你设置过的宽带密码,如果你不知道可以打电话给宽带的客服查询;进入...

台式电脑用usb重装系统步骤(台式电脑怎样usb装机)

1.U盘WinPE系统制作先到网上去下载一个u盘启动盘制作工具的工具,常用的有u大师U盘启动盘制作工具。再把U盘插入电脑中,运行软件将u盘制作成启动盘。2.准备系统GHO镜像文件在网上下载GHOST系...

hotmail邮箱格式(hotmail邮箱登录后缀)

电子邮箱的正确格式为user@mail.server.name,其中user是收件人的用户名,mail.server.name是收件人的电子邮件服务器名。具体详情如下:1、QQ邮箱的标准格式为:112...

windows11主题包(win10 win11主题)

1."梦幻星空"是ColorOS11中最好看的主题。2.这是因为"梦幻星空"主题采用了炫酷的星空元素,配合流畅的动画效果,给人一种梦幻般的感觉。同时,主题的配色也...

戴尔官方商城官网(戴尔官方商城官网首页)

https://www.dell.com/戴尔公司于1992年进入《财富》杂志500强之列,戴尔因此成为其中最年轻的首席执行官。戴尔公司名列《财富》杂志500强的第48位。自1995年起,戴尔公司一直...

ghost64位(一键还原ghost)

步骤如下:  1、首先登陆微软官网(点击进入),根据自己电脑的需求下载IE11forWin7的对应版本(这里强调IE11forWin7只针对Win7SP1或以上系统);  2、选择对应的IE...

ie8 ie10浏览器手机版下载(ie8_11浏览器安卓手机版)

进入出现提示的网页,点击IE11右边的齿轮,再选添加到兼容性视图列表。网页会刷新一下,就变成IE7方式打开了。试试看。如果你无法下载文件,这个时候你可以把电脑重新启动一下,然后清理一下内存,再打开I...

手机破解qq空间相册的方法(手机怎么破解qq空间相册视频教学)

没有什么办法,你可以直接询问她吧,既然分手了就不要再纠缠了最好。QQ空间解锁步骤:1、登陆QQ空间,在右上角找到“设置”,把鼠标青放在设置上,不要点击,出现“帮助中心”。2、然后点击“帮助中心”,就会...

纯净版的win7旗舰版(win7的纯净版和旗舰版有什么区别)

win7系统纯净版,旗舰版并不是同一类概念。主要区别如下:纯净版是win7ghost版本的一种类型,是指该系统就是纯粹的win7系统,未包含任何第三方软件;而旗舰版是win7系统的官方划分的一种类型...

免费企业邮箱来一个(申请免费的企业邮箱)
免费企业邮箱来一个(申请免费的企业邮箱)

1.首先,我们登录我们的QQ,然后点击QQ上方的小邮件标识;2.弹出的界面,我们点击下方的企业邮箱;3.弹出的界面,我们点击开通邮箱;4.弹出的界面,我们点击免费版的立即开通;5.然后我们输入相关的信息,最后点击注册;6.最后就注册完成了。...

2025-12-24 02:51 off999

怎么更新win11(怎么更新win11补丁最快)

要更新电脑系统到Windows11,需要满足一定的硬件要求。首先,你需要确保你的电脑符合以下最低硬件要求:-64位处理器或系统架构-4GBRAM-64GB存储空间-DirectX12兼容显卡...

cpu温度过高原因(cpu温度太高怎么回事)

cpu温度过高的原因  1.CPU风扇散热不行。CPU风扇与CPU接触不完全,CPU风扇转速过低,风扇质量不过关,这都是造成CPU温度过高的原因。  2.系统使用CPU占用率100%。系统垃圾过多,开...

该内存不能为read不显示桌面

运行输入msconfig回车,打开系统配置实用程序,在启动项目中查找一个名为“开机提示出现错误的程序”,如果有将它前面的钩去掉,然后按应用确定。  如果故障依旧,建议先查杀一下木马,修复一下系统试试...

命令激活win10专业版(cmd命令激活win10专业版)
  • 命令激活win10专业版(cmd命令激活win10专业版)
  • 命令激活win10专业版(cmd命令激活win10专业版)
  • 命令激活win10专业版(cmd命令激活win10专业版)
  • 命令激活win10专业版(cmd命令激活win10专业版)
官方网站注册(playstation官方网站注册)
官方网站注册(playstation官方网站注册)

要注册快手网站,首先需要下载并安装快手APP,然后选择注册账号。注册时需要填写手机号码并验证,然后设置用户名和密码。在注册过程中还需要设置头像和填写个人信息,确保信息真实有效。注册完成后,可以开始使用快手APP,浏览、上传视频、与其他用户互...

2025-12-24 00:03 off999

取消回复欢迎 发表评论: