Python文件操作功能

简介: Python文件操作功能

Python提供了丰富的文件操作功能,允许你读取、写入、修改和删除文件。以下是一些基本的文件操作讲解和相关的代码示例:

文件打开与关闭

在Python中,使用 open()函数可以打开一个文件,该函数返回一个文件对象。完成文件操作后,应该使用 close()方法关闭文件。

 

# 打开文件

 

file = open('example.txt', 'r') # 'r'表示只读模式

 

 

 

# 进行文件操作

 

content = file.read()

 

print(content)

 

 

 

# 关闭文件

 

file.close()

使用 with语句可以自动处理文件的关闭,这样就不需要显式地调用 close()方法。

 

# 使用with语句打开文件

 

with open('example.txt', 'r') as file:

 

content = file.read()

 

print(content)

 

# 文件会在with块结束后自动关闭

读取文件

使用文件对象的 read()方法可以读取文件内容。

 

# 读取整个文件

 

with open('example.txt', 'r') as file:

 

content = file.read()

 

print(content)

 

 

 

# 读取指定数量的字符

 

with open('example.txt', 'r') as file:

 

content = file.read(10) # 读取前10个字符

 

print(content)

 

 

 

# 按行读取文件

 

with open('example.txt', 'r') as file:

 

for line in file:

 

print(line, end='') # 注意end='',否则每行后面会有换行符

写入文件

使用文件对象的 write()方法可以写入文件内容。

 

# 写入内容到文件

 

with open('example.txt', 'w') as file:

 

file.write('Hello, World!')

 

 

 

# 追加内容到文件

 

with open('example.txt', 'a') as file:

 

file.write('\nHello again!')

· 'r': 只读模式(默认)

· 'w': 写模式,会覆盖原有文件内容

· 'a': 追加模式,会在文件末尾追加内容

· 'x': 创建模式,如果文件已存在则报错

· 'b': 二进制模式,通常与'r', 'w', 'a'等一起使用

· 't': 文本模式(默认)

文件

使用文件对象的 seek()方法可以移动文件读写的指针位置。

 

# 移动到文件的第5个字节处

 

with open('example.txt', 'r+') as file:

 

file.seek(5)

 

content = file.read()

 

print(content)

 

 

 

# 写入内容到文件的第5个字节处

 

with open('example.txt', 'r+') as file:

 

file.seek(5)

 

file.write('INSERT')

文件和目录操作

Python的 os模块提供了许多文件和目录操作的功能。

 

import os

 

 

 

# 检查文件是否存在

 

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

 

print("File exists.")

 

 

 

# 创建目录

 

os.makedirs('new_directory')

 

 

 

# 列出目录中的文件

 

for filename in os.listdir('.'):

 

print(filename)

 

 

 

# 删除文件

 

os.remove('example.txt')

 

 

 

# 删除目录(需确保目录为空)

 

os.rmdir('new_directory')

 

 

 

# 获取文件大小

 

file_size = os.path.getsize('example.txt')

 

print(f"File size: {file_size} bytes")

 

 

 

# 获取文件路径

 

current_path = os.path.abspath('.')

 

print(f"Current path: {current_path}")

文件锁

在并发环境中,你可能需要确保同一时间只有一个进程可以写入文件,这可以通过文件锁来实现。Python的 fcntl模块提供了文件锁的功能。

 

import fcntl

 

 

 

# 打开文件并获取写锁

 

with open('example.txt', 'w') as file:

 

fcntl.flock(file.fileno(), fcntl.LOCK_EX) # 获取排他锁

 

file.write('Locked content')

 

fcntl.flock(file.fileno(), fcntl.LOCK_UN) # 释放锁

这些是Python文件操作的基本概念和示例。实际上,文件操作可以变得非常复杂,涉及到更高级的缓冲、编码、错误处理等问题。因此,在处理文件时,理解并正确使用这些基础功能是非常重要的。

 

目录
相关文章
|
1月前
|
计算机视觉 Python
Python实用记录(一):如何将不同类型视频按关键帧提取并保存图片,实现图片裁剪功能
这篇文章介绍了如何使用Python和OpenCV库从不同格式的视频文件中按关键帧提取图片,并展示了图片裁剪的方法。
72 0
|
28天前
|
存储 Python
Python文件操作(1)
【10月更文挑战第17天】
115 60
Python文件操作(1)
|
27天前
|
数据采集 存储 Python
Python文件操作2
【10月更文挑战第18天】
Python文件操作2
|
9天前
|
缓存 监控 测试技术
Python中的装饰器:功能扩展与代码复用的利器###
本文深入探讨了Python中装饰器的概念、实现机制及其在实际开发中的应用价值。通过生动的实例和详尽的解释,文章展示了装饰器如何增强函数功能、提升代码可读性和维护性,并鼓励读者在项目中灵活运用这一强大的语言特性。 ###
|
13天前
|
缓存 开发者 Python
探索Python中的装饰器:简化代码,增强功能
【10月更文挑战第35天】装饰器在Python中是一种强大的工具,它允许开发者在不修改原有函数代码的情况下增加额外的功能。本文旨在通过简明的语言和实际的编码示例,带领读者理解装饰器的概念、用法及其在实际编程场景中的应用,从而提升代码的可读性和复用性。
|
18天前
|
设计模式 缓存 测试技术
Python中的装饰器:功能增强与代码复用的艺术####
本文将深入探讨Python中装饰器的概念、用途及实现方式,通过实例演示其如何为函数或方法添加新功能而不影响原有代码结构,从而提升代码的可读性和可维护性。我们将从基础定义出发,逐步深入到高级应用,揭示装饰器在提高代码复用性方面的强大能力。 ####
|
19天前
|
缓存 测试技术 数据安全/隐私保护
探索Python中的装饰器:简化代码,增强功能
【10月更文挑战第29天】本文通过深入浅出的方式,探讨了Python装饰器的概念、使用场景和实现方法。文章不仅介绍了装饰器的基本知识,还通过实例展示了如何利用装饰器优化代码结构,提高代码的可读性和重用性。适合初学者和有一定经验的开发者阅读,旨在帮助读者更好地理解和应用装饰器,提升编程效率。
|
26天前
|
开发者 Python
探索Python中的装饰器:简化代码,增强功能
【10月更文挑战第22天】在Python的世界里,装饰器是一个强大的工具,它能够让我们以简洁的方式修改函数的行为,增加额外的功能而不需要重写原有代码。本文将带你了解装饰器的基本概念,并通过实例展示如何一步步构建自己的装饰器,从而让你的代码更加高效、易于维护。
|
27天前
|
开发框架 Python
探索Python中的装饰器:简化代码,增强功能
【10月更文挑战第20天】在编程的海洋中,简洁与强大是航行的双桨。Python的装饰器,这一高级特性,恰似海风助力,让代码更优雅、功能更强大。本文将带你领略装饰器的奥秘,从基础概念到实际应用,一步步深入其内涵与意义。
|
1月前
|
云计算 Python
用python给你写个简单的计算器功能网页啊
这张图片展示了阿里巴巴集团的组织架构图,涵盖了核心电商、云计算、数字媒体与娱乐、创新业务等主要板块,以及各板块下的具体业务单元和部门。