百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

Python中文件的读写与文件夹的操作

off999 2024-10-02 18:48 15 浏览 0 评论

在Python中,文件读写与文件夹操作是日常编程中不可或缺的一部分,它们使得我们能够与存储在计算机上的数据进行交互。下面,我将详细介绍Python中如何进行文件读写和文件夹操作,并通过具体例子来加深理解。

一、文件读写

1. 打开文件

在Python中,使用open()函数来打开文件,该函数返回一个文件对象,之后可以使用这个文件对象进行读写操作。open()函数的基本语法如下:

file_object = open(file_name, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)


file_name:文件名称(包含路径)。

mode:打开文件的模式,默认为'r'(只读)。其他常见模式包括'w'(只写,会覆盖文件)、'a'(追加,写入数据会被追加到文件末尾)、'r+'(读写)、'b'(二进制模式,可与其他模式组合,如'rb')。

其他参数通常使用默认值即可。

2. 读取文件

读取文件时,常用的方法有read(), readline(), 和readlines()。

read([size]):读取文件内容,size是可选参数,表示读取的字节数。

readline():读取文件的下一行,直到换行符。

readlines():读取文件所有行,并将它们作为字符串列表返回。

示例:

# 打开文件并读取全部内容

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

content = file.read()

print(content)

# 逐行读取

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

for line in file:

print(line, end='') # 默认情况下,readline()会包含换行符,所以打印时end=''避免额外换行

# 使用readlines()

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

lines = file.readlines()

for line in lines:

print(line, end='')

3. 写入文件

写入文件时,常用的方法是write()和writelines()。

write(str):将字符串str写入文件。

writelines(sequence):向文件写入一个字符串序列。序列的每一项后面不会自动添加换行符,所以通常需要在序列的每个字符串末尾添加换行符。

示例:

# 写入文件

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

file.write("Hello, Python!\n")

file.write("Writing to a file is easy.\n")

# 使用writelines()

lines = ["First line.\n", "Second line.\n", "Third line.\n"]

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

file.writelines(lines)

4. 二进制模式

在处理非文本文件(如图片、音频等)时,需要使用二进制模式('b'模式)。

示例:

# 读取二进制文件

with open('image.png', 'rb') as file:

binary_data = file.read()

# 写入二进制文件

with open('copy_image.png', 'wb') as file:

file.write(binary_data)

二、文件夹操作

Python的os和shutil模块提供了丰富的文件夹(目录)操作功能。

1. os模块

os模块提供了许多与操作系统交互的功能,包括文件和文件夹操作。

os.listdir(path='.'):列出指定路径下的文件和文件夹名。

os.mkdir(path, mode=0o777, *, dir_fd=None):创建一个新目录。

os.rmdir(path, *, dir_fd=None):删除空目录。

os.makedirs(name, mode=0o777, exist_ok=False):递归地创建目录。

os.removedirs(name, exist_ok=False):递归地删除目录。

os.chdir(path):改变当前工作目录。

os.getcwd():获取当前工作目录。


示例:

import os

# 列出当前目录下的文件和文件夹

print(os.listdir('.'))

# 创建一个新目录

os.mkdir('new_folder')

# 改变当前工作目录

os.chdir('new_folder')

# 获取当前工作目录

print(os.getcwd())

# 递归创建目录

os.makedirs('nested/folder/structure')

# 删除空目录

os.rmdir('nested') # 注意,需要先删除嵌套目录内的所有文件和文件夹

# 递归删除目录

# 注意:使用os.removedirs需要确保目录为空或递归地删除所有内容

# 这里仅作为示例,不实际执行删除操作

# os.removedirs('nested/folder/structure')

2. shutil模块

shutil模块提供了一组对文件和文件集合进行高级操作的函数,如复制和删除。

shutil.copy(src, dst, *, follow_symlinks=True):复制文件和权限。

shutil.copytree(src, dst, symlinks=False, ignore=None, copy_function=shutil.copy2, ignore_dangling_symlinks=False, dirs_exist_ok=False):递归地复制整个目录树。

shutil.rmtree(path, ignore_errors=False, onerror=None):递归地删除目录树。

示例:

import shutil

# 复制文件

shutil.copy('example.txt', 'copy_of_example.txt')

# 递归复制目录

shutil.copytree('source_folder', 'copy_of_source_folder')

# 递归删除目录

# 注意:这会删除目录及其所有内容,请小心使用

# shutil.rmtree('copy_of_source_folder')

三.总结

Python的文件读写和文件夹操作功能强大且灵活,通过open()函数、os模块和shutil模块,可以轻松地完成文件的打开、读取、写入、复制、删除以及文件夹的创建、删除等操作。在处理文件时,选择合适的模式和函数非常重要,以确保数据的安全性和操作的效率。希望这篇介绍能够帮助你更好地理解和使用Python的文件和文件夹操作功能。

相关推荐

SPC相关的计算用excel和python实现【源码下载】

做SPC分析涉及到很多计算,比如CPK、PPK、概率图、PPM等等,网上很多公式,但具体实现却不是那么容易的。我们整理了这些用excel和python实现的代码。包括但不限于以下的内容:SPC分析中的...

Python学不会来打我(34)python函数爬取百度图片_附源码

随着人工智能和大数据的发展,图像数据的获取变得越来越重要。作为Python初学者,掌握如何从网页中抓取图片并保存到本地是一项非常实用的技能。本文将手把手教你使用Python函数编写一个简单的百度图片...

django python数据中心、客户、机柜、设备资源管理平台源码分享

先转发后关注,私信“资源”即可免费获取源码下载链接!本项目一个开源的倾向于数据中心运营商而开发的,拥有数据中心、客户、机柜、设备、跳线、物品、测试、文档等一些列模块的资源管理平台,解决各类资源集中管理...

熬夜也值得学习练手的108个Python项目(附源码),太实用了!

现在学编程的人越来越多,Python因为简单好上手、功能又强大,成了很多人的首选。不管是做数据分析、人工智能,还是写网络程序、自动化脚本,Python都能派上用场。而且它诞生的时间比网页还早,作为...

这五个办公室常用自动化工具python源码,复制代码就能用

办公室自动化现在能看这文章的恐怕大部分都是办公室久坐工作者,很多都有腰肌劳损、肩周炎等职业病,难道就不能有个工具缓解一下工作量吗?那么恭喜你点进了这篇文章,这篇文章将使用python直接实现五个常...

将python源代码封装成window可执行程序教程

将python源代码封装成window可执行程序教程点击键盘win+r打开运行框在运行框中输入cmd,进入到命令行。在命令行中输入piplist去查看当前电脑中所有的库检查是否有pyinstall...

Python 爬虫如何爬取网页源码?(爬虫获取网页源代码)

下面教大家用几行代码轻松爬取百度首页源码。什么是urllib?urllib库是Python内置的HTTP请求库,它可以看做是处理URL的组件集合。urllib库包含了四大模块,具体如下:urllib....

Python RPC 之 Thrift(python是做什么的)

thrift-0.12.0python3.4.3Thrift简介:Thrift是一款高性能、开源的RPC框架,产自Facebook后贡献给了Apache,Thrift囊括了整个RP...

用Python编写FPGA以太网MAC(附源码下载方式)

来源:EETOP作者:ccpp123略作了解后发现,MyHDL不是高层次综合,它实际上是用Python的一些功能实现了一个Verilog仿真器,能对用Python写的仿Verilog语言进行仿...

python爬虫常用工具库总结(python爬虫工具下载)

说起爬虫,大家可能第一时间想到的是python,今天就简单为大家介绍下pyhton常用的一些库。请求库:实现基础Http操作urllib:python内置基本库,实现了一系列用于操作url的功能。...

手把手教你使用scrapy框架来爬取北京新发地价格行情(理论篇)

来源:Python爬虫与数据挖掘作者:霖hero大家好!我是霖hero。上个月的时候,我写了一篇关于IP代理的文章,手把手教你使用XPath爬取免费代理IP,今天在这里分享我的第二篇文章,希望大家可以...

2025年Python爬虫学习路线:第1阶段 爬虫基础入门开始

这个阶段的目标是让你熟悉Python的基础知识、了解HTTP请求和HTML是如何工作的,并最终完成你的第一个爬虫小项目——抓取名言!按照计划,我们首先要打好Python基础。Python就像是我们要...

如何入门 Python 爬虫?(python零基础爬虫)

1.很多人一上来就要爬虫,其实没有弄明白要用爬虫做什么,最后学完了却用不上。大多数人其实是不需要去学习爬虫的,因为工作所在的公司里有自己的数据库,里面就有数据来帮助你完成业务分析。什么时候要用到爬虫呢...

突破爬虫瓶颈:Python爬虫核心能力提升与案例实操

技术控必看!Python爬虫高手进阶全攻略,解锁数据处理高阶玩法在数字化时代,Python爬虫早已成为数据探索者手中的得力工具。从基础的网页抓取到复杂的数据处理,每一次技术升级都能带来新的突破。本文将...

网络爬虫开源框架(网络爬虫的框架)

目前开源爬虫下载框架是百花齐放,各个编程语言都有,以下主要介绍其中重要的几个:1)python:scrapy,pyspider,gcrawler2)Java:webmagic,WebCollector...

取消回复欢迎 发表评论: