python初学者指南:文件操作重点(基本操作、文件模式)

简介: python初学者指南:文件操作重点(基本操作、文件模式)

1 读写文件


1.1 打开文件

Python使用内置的open()函数打开一个文件,并且返回一个文件对象,也叫句柄(handle)。

f = open("test.txt")    # 在本文件夹下面的一个文件
f = open("C:/Python33/README.txt")  # 全路径


再打开文件时,我们需要指定文件打开的模式,当我们需要读取文件时,使用f = open("test.txt", 'r'),写入文件时,使用f = open("test.txt", 'w'),追加输入时f = open("test.txt", 'a'),这里的a就是append的意思。追加模式和写入模式的区别就是,写入模式打开一个文件时,无论这个文件是否有内容,都会被清空再写入;在使用追加模式时,打开的文件,只是在原有的内容上继续进行写入。同时我们也要制定以文本模式打开还是二进制模式打开。


1.2 写文件

# 1. 打开文件
f = open('test.txt', 'w')
# 2.文件写入
f.write('hello world')
# 3. 关闭文件
f.close()


演示效果

  1. 在本文件夹下创建test.txt

image.png


  1. 执行上述代码

image.png


  1. 查看执行结果

image.png


1.3 读文件

首先在TXT文件中准备一些内容。

# 默认为r,读操作
f=open('test.txt')  
# 输出第一行内容
content=f.readline()
print(f'第一行{content}')
# 输出第二行内容
content=f.readline()
print(f'第二行{content}')
# 关闭


演示效果:

image.png


1.4 with语句

当文件操作结束时,我们最好主动关闭文件。尽管Python有垃圾回收(garbage collector)机制,去清理不用的对象,但是最好还是自己关闭文件。


最简单的方法就是:

f = open("app.log", 'r')
do_something()
f.close()


但是这个办法不安全,因为在进行其他操作时,可能会出现异常,程序退出,那么关闭文件的语句就不会被执行。


因此,可以用<try-finally>语句来处理:

try:
   f = open('app.log', 'r')
   do_something()
finally:
   f.close()


无论是否发生异常,关闭文件的指令都会被执行。


但是python官方给出的最佳用法是:

with open('app.log', 'r') as f:
   do_something()


使用这种用法,我们不必调用close()方法,在with语句程序内部就会执行,无论内部是否出现异常。with语句被称为上下文管理器,我们可以暂且不管这个的原理,只需要知道使用with语句,关闭文件的操作会被自动执行,这也是官方推荐的最佳用法,比用<try-finally>语句写起来简单。


2 文件模式


image.png


2.1 文本模式(text mode)和二进制(binary mode)模式的区别

文本模式中,读取时操作系统的换行符('\n' on Unix,'\r\n' on Windows)会被转换成Python的默认换行符\n,写入时会将默认的换行符转换为操作系统的换行符;在二进制模式中不会转换。


这个转化在对文本文件没有影响,但是对于二进制数据会有影响,比如图像文件或者EXE文件等。因此,再打开这类文件时,一般使用二进制模式进行读写


3 os模块


先导入模块

import os


3.1 文件重命名

os.rename(目标文件名, 新文件名)


3.2 删除文件

os.remove(目标文件名)


3.3 创建文件夹

os.mkdir(文件夹名字)


4.4 删除文件夹

os.rmdir(文件夹名字)


3.5 获取当前目录

os.getcwd()


4.6 改变默认目录

os.chdir(目录)


3.7 获取目录列表

os.listdir(目录)



相关链接:

你真的会用python进行文件操作吗 - 知乎 (zhihu.com)

Python文件操作,看这篇就足够 - 知乎 (zhihu.com)

目录
相关文章
|
6天前
|
数据格式 Python
【Python】已解决:Excel无法打开文件test.xIsx“,因为文件格式或文件扩展名无效。请确定文件未损坏,并且文件扩展名与文件的格式匹配。
【Python】已解决:Excel无法打开文件test.xIsx“,因为文件格式或文件扩展名无效。请确定文件未损坏,并且文件扩展名与文件的格式匹配。
34 0
|
1天前
|
安全 网络安全 数据安全/隐私保护
`certifi`是一个Python包,它提供了一个包含Mozilla证书颁发机构(CA)Bundle的PEM文件。
`certifi`是一个Python包,它提供了一个包含Mozilla证书颁发机构(CA)Bundle的PEM文件。
19 7
|
1天前
|
存储 对象存储 Python
`openpyxl`是一个用于读写Excel 2010 xlsx/xlsm/xltx/xltm文件的Python库。它不需要Microsoft Excel,也不需要.NET或COM组件。
`openpyxl`是一个用于读写Excel 2010 xlsx/xlsm/xltx/xltm文件的Python库。它不需要Microsoft Excel,也不需要.NET或COM组件。
6 1
|
11天前
|
JSON 数据格式 Python
Flask实现内部接口----pycharm安装及新建,location代表着文件路径,下面是Python的环境,Flask是由Python开发的框架,Python文件接口ython通过GET发送
Flask实现内部接口----pycharm安装及新建,location代表着文件路径,下面是Python的环境,Flask是由Python开发的框架,Python文件接口ython通过GET发送
|
7天前
|
缓存 Shell 开发工具
[oeasy]python024_vim读取文件_从头复制到尾_撤销_重做_reg_寄存器
[oeasy]python024_vim读取文件_从头复制到尾_撤销_重做_reg_寄存器
16 5
|
5天前
|
Python
python存取yaml文件
python存取yaml文件
|
1天前
|
数据可视化 Python
时间序列分析是一种统计方法,用于分析随时间变化的数据序列。在金融、经济学、气象学等领域,时间序列分析被广泛用于预测未来趋势、检测异常值、理解周期性模式等。在Python中,`statsmodels`模块是一个强大的工具,用于执行各种时间序列分析任务。
时间序列分析是一种统计方法,用于分析随时间变化的数据序列。在金融、经济学、气象学等领域,时间序列分析被广泛用于预测未来趋势、检测异常值、理解周期性模式等。在Python中,`statsmodels`模块是一个强大的工具,用于执行各种时间序列分析任务。
7 0
|
1天前
|
存储 Python
`tempfile`模块在Python中用于创建临时文件和目录。
`tempfile`模块在Python中用于创建临时文件和目录。
4 0
|
5天前
|
Unix Linux C++
相对路径vs绝对路径 python文件的添加与删除
相对路径vs绝对路径 python文件的添加与删除
|
5天前
|
JavaScript 前端开发 Java
python结构化模式匹配switch-case,Python 3.10中引入,Python的模式匹配(pattern matching)语法
python结构化模式匹配switch-case,Python 3.10中引入,Python的模式匹配(pattern matching)语法