百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 热门文章 > 正文

Python 3 学习笔记:目录&文件处理(一)

bigegpt 2024-10-12 06:12 8 浏览

路径

路径,用于定位目录或文件的字符串。

相对路径

相对路径依赖于当前工作目录(即当前文件所在的目录),可以使用如下函数获取当前工作目录,

os.getcwd()


在当前工作目录中,可以使用相对路径访问这个目录中的所有子目录和其中的文件,而无需使用完整路径。

绝对路径

指一个目录或文件的实际路径,如 D:\Code\Python-Study-Notes\exercise\try_except_demo.py,这就是一个绝对路径,无论当前在哪个目录中,只要使用这个路径,就会访问 try_except_demo.py 文件。

可以使用如下函数获取目录或文件的绝对路径,

os.path.abspath(path)


其中,参数 path 是一个相对路径,可以是目录,也可以是文件。

路径处理

  1. 判断指定的目录或文件是否存在


os.path.exists(path)


存在则返回 True,反之则返回 False。

  1. 拼接目录与目录或文件的名字


os.path.join(path, name)


  1. 分离文件名和其扩展名


os.path.splitext(fileName)


  1. 从一个路径中提取最后的目录名或文件名


os.path.basename(path)


  1. 从一个路径中提取最后一个目录或文件所在的目录


os.path.dirname(path)


  1. 判断是否为有效路径


os.path.isdir(path)


目录基本操作

目录,即文件夹,可以存放目录及文件。

  1. 获取当前系统类型


os.name


其中,nt 表示 Windows;posix 表示 Linux 或 Unix 或 MacOS。

  1. 获取当前系统的换行符


os.linesep


  1. 获取当前系统的路径分隔符


os.sep


  1. 获取当前的工作目录的路径


os.getcwd()


  1. 已列表的形式返回指定路径下的目录和文件


os.listdir(path)


  1. 在指定路径下新建一个目录


os.mkdir(path, mode)


path 为路径,mode 表示目录的权限(在非 Unix 系统上无效)。

  1. 在指定路径下创建多级目录


os.makedirs(path, mode)

复制

创建多级目录,即创建它本身及它的子目录和子目录的子目录,mode 表示目录的权限(在非 Unix 系统上无效)。

  1. 删除文件


os.remove(path)

或者,

1
os.unlink(path)


该函数可以删除指定路径下的文件。

  1. 删除一个非空的目录


os.rmdir(path)


使用 rmdir() 删除一个目录时,该目录下不能有任何子目录和文件。

  1. 删除多级空目录


os.removedirs(path)


删除它本身及其中的子目录和子目录中的子目录,但是这些目录中不能有任何文件,即这些目录必须是空的。

  1. 把 path 设置为当前的工作目录


os.chdir(path)


  1. 遍历指定路径下的所有目录和文件


os.walk(path, topdown=True, onerror, followlinks=False)


该函数只在 Unix 和 Windows 系统中有效。

path 表示要遍历的目录;topdown 如果为 True 则自上而下遍历,反之则自下而上;onerror 用于指定错误处理函数;followlinks 用于指定在支持的系统上访问由符号链接指向的目录。

该函数返回一个元组生成器对象,其中包含三个元素:当前遍历的路径,是一个字符串;该路径下包含的目录,是一个列表;当前路径下包含的文件,是一个列表。示例如下:

import os
root = r"D:\Code\YunYiCangQiong\00 原文稿"
for path, dirs, files in os.walk(root,followlinks=True):
	for name in dirs:
		print("○", os.path.join(root, name))
	for name in files:
		print("●", os.path.join(root, name))


  1. 列出目录下的所有内容(子目录和文件)


os.listdir(path)


该函数会列出指定路径的目录下所有内容,包含子目录、文件、隐藏文件等。


◆ ◆ ◆ ◆ ◆◆ ◆ ◆ ◆ ◆◆ ◆ ◆ ◆ ◆◆ ◆ ◆ ◆ ◆◆ ◆ ◆ ◆ ◆◆ ◆ ◆ ◆ ◆◆ ◆ ◆ ◆ ◆◆ ◆ ◆ ◆ ◆◆ ◆ ◆ ◆ ◆◆

为了帮各位观众老爷们快速入门python,我在这里准备了一套“经典入门教程”,这些是入门付费教程哦,现在当做福利免费赠送给各位观众老爷们,私信我“python入门”就可以领取!

点击我的头像关注我进入主页,就能看到私信按钮了。私信我“python入门”,一个字不能多一个字不能少,即可快速领取!

相关推荐

Go语言泛型-泛型约束与实践(go1.7泛型)

来源:械说在Go语言中,Go泛型-泛型约束与实践部分主要探讨如何定义和使用泛型约束(Constraints),以及如何在实际开发中利用泛型进行更灵活的编程。以下是详细内容:一、什么是泛型约束?**泛型...

golang总结(golang实战教程)

基础部分Go语言有哪些优势?1简单易学:语法简洁,减少了代码的冗余。高效并发:内置强大的goroutine和channel,使并发编程更加高效且易于管理。内存管理:拥有自动垃圾回收机制,减少内...

Go 官宣:新版 Protobuf API(go pro版本)

原文作者:JoeTsai,DamienNeil和HerbieOng原文链接:https://blog.golang.org/a-new-go-api-for-protocol-buffer...

Golang开发的一些注意事项(一)(golang入门项目)

1.channel关闭后读的问题当channel关闭之后再去读取它,虽然不会引发panic,但会直接得到零值,而且ok的值为false。packagemainimport"...

golang 托盘菜单应用及打开系统默认浏览器

之前看到一个应用,用go语言编写,说是某某程序的windows图形化客户端,体验一下发现只是一个托盘,然后托盘菜单的控制面板功能直接打开本地浏览器访问程序启动的webserver网页完成gui相关功...

golang标准库每日一库之 io/ioutil

一、核心函数概览函数作用描述替代方案(Go1.16+)ioutil.ReadFile(filename)一次性读取整个文件内容(返回[]byte)os.ReadFileioutil.WriteFi...

文件类型更改器——GoLang 中的 CLI 工具

我是如何为一项琐碎的工作任务创建一个简单的工具的,你也可以上周我开始玩GoLang,它是一种由Google制作的类C编译语言,非常轻量和快速,事实上它经常在Techempower的基准测...

Go (Golang) 中的 Channels 简介(golang channel长度和容量)

这篇文章重点介绍Channels(通道)在Go中的工作方式,以及如何在代码中使用它们。在Go中,Channels是一种编程结构,它允许我们在代码的不同部分之间移动数据,通常来自不同的goro...

Golang引入泛型:Go将Interface「」替换为“Any”

现在Go将拥有泛型:Go将Interface{}替换为“Any”,这是一个类型别名:typeany=interface{}这会引入了泛型作好准备,实际上,带有泛型的Go1.18Beta...

一文带你看懂Golang最新特性(golang2.0特性)

作者:腾讯PCG代码委员会经过十余年的迭代,Go语言逐渐成为云计算时代主流的编程语言。下到云计算基础设施,上到微服务,越来越多的流行产品使用Go语言编写。可见其影响力已经非常强大。一、Go语言发展历史...

Go 每日一库之 java 转 go 遇到 Apollo?让 agollo 来平滑迁移

以下文章来源于GoOfficialBlog,作者GoOfficialBlogIntroductionagollo是Apollo的Golang客户端Apollo(阿波罗)是携程框架部门研...

Golang使用grpc详解(golang gcc)

gRPC是Google开源的一种高性能、跨语言的远程过程调用(RPC)框架,它使用ProtocolBuffers作为序列化工具,支持多种编程语言,如C++,Java,Python,Go等。gR...

Etcd服务注册与发现封装实现--golang

服务注册register.gopackageregisterimport("fmt""time"etcd3"github.com/cor...

Golang:将日志以Json格式输出到Kafka

在上一篇文章中我实现了一个支持Debug、Info、Error等多个级别的日志库,并将日志写到了磁盘文件中,代码比较简单,适合练手。有兴趣的可以通过这个链接前往:https://github.com/...

如何从 PHP 过渡到 Golang?(php转golang)

我是PHP开发者,转Go两个月了吧,记录一下使用Golang怎么一步步开发新项目。本着有坑填坑,有错改错的宗旨,从零开始,开始学习。因为我司没有专门的Golang大牛,所以我也只能一步步自己去...