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天前
|
网络协议 安全 Shell
`nmap`是一个开源的网络扫描工具,用于发现网络上的设备和服务。Python的`python-nmap`库允许我们在Python脚本中直接使用`nmap`的功能。
`nmap`是一个开源的网络扫描工具,用于发现网络上的设备和服务。Python的`python-nmap`库允许我们在Python脚本中直接使用`nmap`的功能。
23 7
|
2天前
|
机器学习/深度学习 API 数据安全/隐私保护
python功能合集
Python功能合集
16 8
|
8天前
|
Python
Python编程实战:利用闭包与装饰器优化日志记录功能
【7月更文挑战第7天】Python的闭包和装饰器简化了日志记录。通过定义如`log_decorator`的装饰器,可以在不修改原函数代码的情况下添加日志功能。当@log_decorator用于`add(x, y)`函数时,调用时自动记录日志。进一步,`timestamp_log_decorator`展示了如何创建特定功能的装饰器,如添加时间戳。这些技术减少了代码冗余,提高了代码的可维护性。
15 1
|
13天前
|
Python
Python基本文件操作及os库
以上仅为Python文件操作和os库的基本用法,实际使用中需要根据具体需求进行调整。
11 1
|
14天前
|
Python
Python基本文件操作及os库
以上仅为Python文件操作和os库的基本用法,实际使用中需要根据具体需求进行调整。
15 1
|
19天前
|
JSON 安全 数据格式
Python文件操作宝典:一步步教你玩转文件读写
Python文件操作宝典:一步步教你玩转文件读写
|
22天前
|
Python
Python的`os`模块核心功能概述:通过`os.getcwd()`获取
【6月更文挑战第23天】Python的`os`模块核心功能概述:通过`os.getcwd()`获取、`os.chdir()`改变工作目录;使用`os.mkdir()`, `os.makedirs()`创建目录,`os.rmdir()`, `os.removedirs()`删除;`os.rename()`, `os.renames()`重命名文件或目录;`os.remove()`删除文件;`os.listdir()`列出目录内容;`os.path.exists()`, `os.path.isfile()`, `os.path.isdir()`检查路径;`os.stat()`获取文件属性。
26 4
|
25天前
|
数据安全/隐私保护 Python
Python装饰器是高阶函数,用于在不修改代码的情况下扩展或修改函数行为。它们提供可重用性、模块化和无侵入性的功能增强。
【6月更文挑战第20天】Python装饰器是高阶函数,用于在不修改代码的情况下扩展或修改函数行为。它们提供可重用性、模块化和无侵入性的功能增强。例如,`@simple_decorator` 包装`my_function`,在调用前后添加额外操作。装饰器还能接受参数,如`@logged("INFO", "msg")`,允许动态定制功能。
21 6
|
26天前
|
存储 缓存 Linux
Python pip常用功能说明
pip 是 Python 的一个包管理工具,可以让用户方便地下载和安装 Python 包。pip 可以从 PyPI (Python Package Index) 上下载这些包,并且自动处理依赖关系。PyPI 是一个存储着 Python 包的仓库,用户可以从这个仓库中搜索、下载和安装 Python 包。在使用 pip 安装 Python 包时,由于 PyPI 的服务器位于国外,下载速度可能比较慢,因此我们可以使用国内的镜像源来提高下载速度。常见的国内镜像源有阿里云、清华大学等。
30 6
|
1天前
|
数据采集 数据挖掘 数据处理
Python数据分析加速器:深度挖掘Pandas与NumPy的高级功能
【7月更文挑战第14天】Python的Pandas和NumPy库是数据分析的核心工具。Pandas以其高效的数据处理能力,如分组操作和自定义函数应用,简化了数据清洗和转换。NumPy则以其多维数组和广播机制实现快速数值计算。两者协同工作,如在DataFrame与NumPy数组间转换进行预处理,提升了数据分析的效率和精度。掌握这两者的高级功能是提升数据科学技能的关键。**
7 0

相关实验场景

更多