Python文件操作利器的十大库使用实例

 更新时间:2024年01月09日 08:59:28   作者:涛哥聊Python  
Python拥有多个库用于文件操作,提供了各种功能来管理、读取和写入文件,这些库覆盖了从基本的文件系统交互到高级的文件压缩和数据格式处理等多个方面,文件操作是编程中不可或缺的一部分,因此了解这些库对于开发者来说是至关重要的

os 模块

os 模块提供了丰富的接口,用于与操作系统交互,包括文件和目录的创建、修改和删除等功能。

列出目录中的文件

import os

# 列出目录中的文件
files = os.listdir('/path/to/directory')
print("Directory Files:", files)

创建文件夹

import os

# 创建新文件夹
os.mkdir('/path/to/new/directory')

删除文件

import os

# 删除文件
os.remove('/path/to/file')

删除文件夹

import os

# 删除文件夹(必须为空文件夹)
os.rmdir('/path/to/directory')

os 模块提供了许多其他方法,如重命名文件、获取文件属性、改变工作目录等,这些方法能够对文件系统进行广泛的操作。

pathlib 模块

pathlib 模块提供了更面向对象的方式来操作文件系统,使路径的操作更加直观和简单。

使用路径操作

from pathlib import Path

# 创建路径
path = Path("/path/to/directory")

# 检查路径是否存在
if path.exists():
    print("Path exists")

# 列出目录中的文件
for file in path.iterdir():
    print(file)

# 创建新文件
new_file = path / "new_file.txt"
new_file.write_text("Hello, this is a new file.")

# 读取文件内容
content = new_file.read_text()
print("File Content:", content)

pathlib 模块使得路径的创建、检查、操作等操作更加直观和简便,同时提供了许多方法来进行路径和文件的操作。

shutil 模块

shutil 模块提供了对文件和目录进行高级操作的工具,包括复制、移动、删除文件以及递归操作文件夹等功能。

复制文件

import shutil

# 复制文件
shutil.copy('/path/to/source/file', '/path/to/destination/file')

移动文件

import shutil

# 移动文件
shutil.move('/path/to/source/file', '/path/to/destination/file')

递归删除目录

import shutil

# 递归删除目录及其内容
shutil.rmtree('/path/to/directory')

shutil 模块提供了众多文件和目录操作的高级功能,使得文件的操作更为简单和便捷。

glob 模块

glob 模块用于查找文件路径名匹配指定模式的所有路径名,这些模式可以包含通配符。

查找匹配的文件

import glob

# 查找所有txt文件
txt_files = glob.glob('/path/to/directory/*.txt')
print("TXT Files:", txt_files)

使用通配符

import glob

# 查找所有包含"file"的文件
matched_files = glob.glob('/path/to/directory/*file*')
print("Matched Files:", matched_files)

glob 模块允许你使用通配符来匹配文件路径,从而更便捷地找到需要操作的文件。

io 模块

io 模块提供了对流式数据的操作接口,用于读取和写入文件流。

读取文件

import io

# 读取文件
with io.open('/path/to/file.txt', 'r') as file:
    content = file.read()
    print("File Content:", content)

写入文件

import io

# 写入文件
with io.open('/path/to/new_file.txt', 'w') as file:
    file.write("Hello, this is a new file.")

io 模块提供了诸多方法,能够方便地进行文件读写操作,使得文件操作更为灵活。

zipfile 模块

zipfile 模块提供了处理ZIP文件的功能,可以创建、读取和解压缩ZIP文件。

创建ZIP文件

import zipfile

# 创建ZIP文件
with zipfile.ZipFile('new_zip.zip', 'w') as new_zip:
    new_zip.write('file.txt')

读取ZIP文件内容

import zipfile

# 读取ZIP文件内容
with zipfile.ZipFile('example.zip', 'r') as example_zip:
    files_in_zip = example_zip.namelist()
    print("Files in ZIP:", files_in_zip)

解压缩ZIP文件

import zipfile

# 解压ZIP文件
with zipfile.ZipFile('example.zip', 'r') as example_zip:
    example_zip.extractall('extracted_files')

zipfile 模块提供了对ZIP文件的创建、读取和解压缩的功能,能够轻松处理ZIP文件,使得文件压缩和解压更加方便。

tarfile 模块

tarfile 模块提供了对tar文件的创建、读取和解压缩的功能。

创建tar文件

import tarfile

# 创建tar文件
with tarfile.open('new_tar.tar', 'w') as new_tar:
    new_tar.add('file.txt')

读取tar文件内容

import tarfile

# 读取tar文件内容
with tarfile.open('example.tar', 'r') as example_tar:
    files_in_tar = example_tar.getnames()
    print("Files in TAR:", files_in_tar)

解压缩tar文件

import tarfile

# 解压tar文件
with tarfile.open('example.tar', 'r') as example_tar:
    example_tar.extractall('extracted_files')

tarfile 模块提供了对tar文件的创建、读取和解压缩的功能,可以轻松处理tar文件,使得文件的打包和解包更加方便。

csv 模块

csv 模块专门用于处理逗号分隔值(CSV)文件,提供了读取、写入和处理CSV数据的功能。

读取CSV文件

import csv

# 读取CSV文件
with open('data.csv', 'r') as file:
    csv_reader = csv.reader(file)
    for row in csv_reader:
        print(row)

写入CSV文件

import csv

# 写入CSV文件
data = [
    ['Name', 'Age'],
    ['Alice', 25],
    ['Bob', 30]
]

with open('new_data.csv', 'w', newline='') as file:
    csv_writer = csv.writer(file)
    csv_writer.writerows(data)

csv 模块提供了简单而高效的方法来读写CSV文件,并且能够轻松地处理CSV格式的数据。

json 模块

json 模块用于解析JSON数据,提供了读取、解析和创建JSON文件的功能。

读取JSON文件

import json

# 读取JSON文件
with open('data.json', 'r') as file:
    data = json.load(file)
    print(data)

解析JSON数据

import json

# 解析JSON数据
json_string = '{"name": "Alice", "age": 30}'
data = json.loads(json_string)
print(data)

创建JSON文件

import json
# 创建JSON文件
data = {
    "name": "Alice",
    "age": 30
}
with open('new_data.json', 'w') as file:
    json.dump(data, file)

json 模块提供了方便的方法来读写JSON格式的数据,能够轻松处理JSON格式的文件和数据。

pickle 模块

pickle 模块用于序列化和反序列化Python对象,使其能够在文件中存储和恢复。

对象序列化保存到文件

import pickle
# 对象序列化保存到文件
data = {
    "name": "Alice",
    "age": 30
}
with open('data.pkl', 'wb') as file:
    pickle.dump(data, file)

从文件中加载对象并反序列化

import pickle

# 从文件中加载对象并反序列化
with open('data.pkl', 'rb') as file:
    loaded_data = pickle.load(file)
    print(loaded_data)

pickle 模块提供了在Python对象和文件之间进行序列化和反序列化的功能,使得对象的存储和读取更加便捷。

总结

Python拥有丰富的文件操作库,为开发者提供了多样化、便捷的方式来管理、读取和写入文件。从基本的文件系统交互到处理特定文件格式,这些库覆盖了许多文件操作的方方面面。os模块提供了与操作系统交互的功能,而pathlib模块则更加面向对象。shutil模块提供高级的文件和目录操作功能,使得复制、移动和删除文件变得更为简单。glob模块允许使用通配符查找匹配的文件名。io模块提供了对流式数据的操作接口,用于读写文件流。进一步,zipfiletarfile模块处理ZIP和tar文件的创建、读取和解压。处理CSV数据则依赖于csv模块,而json模块负责解析JSON数据。最后,pickle模块允许序列化和反序列化Python对象,方便对象在文件中的存储和加载。

这些库不仅提供了对文件系统的广泛操作,还使得特定文件格式的处理更加便捷,如压缩文件、结构化数据文件以及序列化对象。了解这些库的功能和用法,能够帮助开发者更加高效地进行文件操作,同时也提供了处理不同类型文件需求的解决方案。最佳实践是根据具体任务需求选择适当的库和方法,以获得最佳的文件操作体验。

以上就是Python文件操作利器的十大库使用实例的详细内容,更多关于Python文件操作库的资料请关注脚本之家其它相关文章!

相关文章

  • python中numpy的矩阵、多维数组的用法

    python中numpy的矩阵、多维数组的用法

    本篇文章主要介绍了python中numpy的矩阵、多维数组的用法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-02-02
  • Flask深入了解Jinja2引擎的用法

    Flask深入了解Jinja2引擎的用法

    Jinja2是基于python的模板引擎,功能比较类似于于PHP的smarty,J2ee的Freemarker和velocity。 它能完全支持unicode,并具有集成的沙箱执行环境,应用广泛。jinja2使用BSD授权
    2022-07-07
  • 使用Python刷淘宝喵币(低阶入门版)

    使用Python刷淘宝喵币(低阶入门版)

    这篇文章主要介绍了使用Python刷淘宝喵币(低阶入门版)的相关资料,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-10-10
  • Django REST Framework 分页(Pagination)详解

    Django REST Framework 分页(Pagination)详解

    这篇文章主要介绍了Django REST Framework 分页(Pagination)详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • python实现排序算法

    python实现排序算法

    这篇文章主要介绍了python实现排序算法,处理小序列不错,需要的朋友可以参考下
    2014-02-02
  • django中显示字符串的实例方法

    django中显示字符串的实例方法

    在本篇文章里小编给大家整理了一篇关于django中显示字符串的实例方法,有兴趣的朋友们可以跟着学习参考下。
    2021-03-03
  • Python 模拟登陆的两种实现方法

    Python 模拟登陆的两种实现方法

    这篇文章主要介绍了Python 模拟登陆的两种实现方法的相关资料,这里提供两种方法一个是普通写法写的,另外一个是基于面向对象写的,模拟登录成功后才可能抓取内容,需要的朋友可以参考下
    2017-08-08
  • Python去除字符串中某个字符的多种实现方法

    Python去除字符串中某个字符的多种实现方法

    这篇文章主要介绍了Python去除字符串中某个字符的多种实现方法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • Python判断某个用户对某个文件的权限

    Python判断某个用户对某个文件的权限

    这篇文章主要为大家详细介绍了Python如何判断某个用户对某个文件的权限,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-10-10
  • Python 操作Excel-openpyxl模块用法实例

    Python 操作Excel-openpyxl模块用法实例

    openpyxl 模块是一个读写 Excel 2010 文档的 Python 库,如果要处理更早格式的 Excel 文 档,需要用到额外的库,openpyxl 是一个比较综合的工具,能够同时读取和修改 Excel 文档,这篇文章主要介绍了Python 操作Excel-openpyxl模块使用,需要的朋友可以参考下
    2023-05-05

最新评论