Python语言的文件及目录访问

简介: Python语言的文件及目录访问

Python语言提供了丰富的文件和目录访问功能,这使得开发者能够方便地进行文件读写、目录遍历、文件属性查询等操作。这些功能主要通过内置的osos.path模块,以及iopathlib等模块来实现。

使用os模块访问文件和目录

os模块提供了很多与操作系统交互的函数,包括文件和目录的访问。

访问目录

· os.listdir(path): 列出指定目录下的所有文件和子目录。

· os.makedirs(name, mode=0o777, exist_ok=False): 创建目录。如果目录已存在且exist_okTrue,则不会抛出异常。

· os.rmdir(path): 删除空目录。

· os.walk(top, topdown=True, onerror=None, followlinks=False): 生成目录树下的文件名,返回一个生成器,对每个目录调用,生成(dirpath, dirnames, filenames)。

访问文件

· os.path.exists(path): 检查文件或目录是否存在。

· os.path.isfile(path): 检查路径是否为文件。

· os.path.isdir(path): 检查路径是否为目录。

· os.path.getsize(path): 返回文件大小,如果文件不存在则引发OSError异常。

使用os.path模块处理路径

os.path模块是os模块的一个子模块,专门用于处理文件路径。

· os.path.join(path1[, path2[, ...]]): 将多个路径组件合并成一个。

· os.path.split(path): 将路径分割成目录和文件名两部分,返回一个元组。

· os.path.basename(path): 返回路径中的文件名。

· os.path.dirname(path): 返回路径中的目录名。

· os.path.abspath(path): 返回指定文件的绝对路径。

· os.path.relpath(path[, start]): 返回从当前目录或指定目录到路径的相对路径。

使用pathlib模块处理路径和文件

pathlib模块提供了面向对象的方式来处理文件系统路径。

· Path.cwd(): 返回当前工作目录。

· Path.home(): 返回用户主目录。

· Path.glob(pattern): 使用通配符模式来查找匹配的文件。

· Path.iterdir(): 迭代目录中的文件和子目录。

· Path.mkdir(mode=0o777, parents=False, exist_ok=False): 创建目录。

· Path.open(mode='r', buffering=-1, encoding=None, errors=None, newline=None): 打开文件并返回文件对象。

· Path.read_text(encoding=None, errors=None): 以文本模式打开文件并返回内容。

· Path.write_text(data, encoding=None, errors=None): 以文本模式打开文件并写入内容。

使用io模块进行文件读写

io模块提供了用于处理输入/输出流的类和函数,通常与文件读写一起使用。

· io.open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None): 打开文件并返回相应的文件对象。

示例

下面是一个简单的示例,展示了如何使用这些模块来访问文件和目录:

python复制代码

 

import os

 

from pathlib import Path

 

 

 

# 使用os模块

 

current_dir = os.getcwd() # 获取当前工作目录

 

print(f"Current directory: {current_dir}")

 

 

 

# 列出目录内容

 

contents = os.listdir('.')

 

print("Directory contents:", contents)

 

 

 

# 检查文件是否存在

 

if os.path.exists('example.txt'):

 

print("File exists.")

 

 

 

# 使用pathlib模块

 

p = Path('.') # 当前目录的Path对象

 

for child in p.iterdir(): # 迭代目录中的每个项

 

print(child)

 

 

 

# 读取文件内容

 

file_path = p / 'example.txt' 

 

if file_path.is_file():

 

content = file_path.read_text()

 

print("File content:", content)

 

 

 

# 写入文件内容

 

file_path.write_text("New content for the file.")

这些模块和函数提供了丰富的功能,使得Python在处理文件和目录时非常灵活和强大。开发者可以根据需要选择

 

相关文章
|
9月前
|
Java 数据处理 索引
(Pandas)Python做数据处理必选框架之一!(二):附带案例分析;刨析DataFrame结构和其属性;学会访问具体元素;判断元素是否存在;元素求和、求标准值、方差、去重、删除、排序...
DataFrame结构 每一列都属于Series类型,不同列之间数据类型可以不一样,但同一列的值类型必须一致。 DataFrame拥有一个总的 idx记录列,该列记录了每一行的索引 在DataFrame中,若列之间的元素个数不匹配,且使用Series填充时,在DataFrame里空值会显示为NaN;当列之间元素个数不匹配,并且不使用Series填充,会报错。在指定了index 属性显示情况下,会按照index的位置进行排序,默认是 [0,1,2,3,...] 从0索引开始正序排序行。
658 0
|
10月前
|
数据可视化 Linux iOS开发
Python脚本转EXE文件实战指南:从原理到操作全解析
本教程详解如何将Python脚本打包为EXE文件,涵盖PyInstaller、auto-py-to-exe和cx_Freeze三种工具,包含实战案例与常见问题解决方案,助你轻松发布独立运行的Python程序。
2194 2
|
9月前
|
监控 机器人 编译器
如何将python代码打包成exe文件---PyInstaller打包之神
PyInstaller可将Python程序打包为独立可执行文件,无需用户安装Python环境。它自动分析代码依赖,整合解释器、库及资源,支持一键生成exe,方便分发。使用pip安装后,通过简单命令即可完成打包,适合各类项目部署。
1516 68
|
编译器 Python
如何利用Python批量重命名PDF文件
本文介绍了如何使用Python提取PDF内容并用于文件重命名。通过安装Python环境、PyCharm编译器及Jupyter Notebook,结合tabula库实现PDF数据读取与处理,并提供代码示例与参考文献。
|
11月前
|
缓存 数据可视化 Linux
Python文件/目录比较实战:排除特定类型的实用技巧
本文通过四个实战案例,详解如何使用Python比较目录差异并灵活排除特定文件,涵盖基础比较、大文件处理、跨平台适配与可视化报告生成,助力开发者高效完成目录同步与数据校验任务。
336 0
|
12月前
|
安全 Linux 网络安全
Python极速搭建局域网文件共享服务器:一行命令实现HTTPS安全传输
本文介绍如何利用Python的http.server模块,通过一行命令快速搭建支持HTTPS的安全文件下载服务器,无需第三方工具,3分钟部署,保障局域网文件共享的隐私与安全。
2955 0
|
12月前
|
数据管理 开发工具 索引
在Python中借助Everything工具实现高效文件搜索的方法
使用上述方法,你就能在Python中利用Everything的强大搜索能力实现快速的文件搜索,这对于需要在大量文件中进行快速查找的场景尤其有用。此外,利用Python脚本可以灵活地将这一功能集成到更复杂的应用程序中,增强了自动化处理和数据管理的能力。
929 0
|
12月前
|
数据采集 Web App开发 iOS开发
解决Python爬虫访问HTTPS资源时Cookie超时问题
解决Python爬虫访问HTTPS资源时Cookie超时问题
|
Python
python读写execle文件数据
python读写execle文件数据
207 0

推荐镜像

更多