12、python文件的操作
前言:本文主要介绍python中文件的操作,包括打开文件、读取文件、写入文件、关闭文件以及上下文管理器。
一、打开文件
Python中open() 方法用于打开一个文件,并返回文件对象,在对文件进行处理过程都需要使用到这个函数,如果该文件无法被打开,会抛出一个OSError。
使用语法:open(参数1,参数2,参数3)
参数1:文件名
参数2:打开的模式
参数3:编码方式(encoding = "utf-8")

file = 'test.txt' # 文件与当前py文件在同一个目录下
# r防转义,文件与当前py文件不在一个目录下时可以直接使用详细的地址,如果在上一个目录怎么写?思考一下
file2 = r'D:\myworkspace\test\test.txt' file = open(file, 'r', encoding='utf-8') # 以读取方式打开文件
print(file.read()) # 读取文件的内容
file.close() # 打开文件使用完后记得关闭文件
运行结果:
C:\software\python\python.exe D:/myworkspace/test/test.py
这是一个测试用的txt文本 Process finished with exit code 0
二、关闭文件
关闭文件:close()方法,在上面打开文件例子中已经举例。
注意:使用 open() 方法一定要保证关闭文件对象,即调用 close() 方法,关闭文件
三、写入文件
1.写入单行write
file = open('test.txt', 'w', encoding='utf-8') # 以写入方式打开文件
file.write('今天是星期四')
file.close()
运行后查看text.txt文件

2.写入多行writelines
file = open('test.txt', 'w', encoding='utf-8') # 以写入方式打开文件
# 向文件写入一个序列字符串列表,如果需要换行则要自己加入每行的换行符,注意最后一行不需要加换行符,不然文件最后会有一行空白行
file.writelines(['今天是星期四\n', '明天是星期五\n', '后天是星期六'])
file.close()
运行后查看text.txt文件

3.保存文件
file.flush()
四、读取文件
1.读取全部内容 read()
file = open('test.txt', 'r', encoding='utf-8') # 以写入方式打开文件
res1 = file.read()
print(res1)
file.close()
运行结果:
C:\software\python\python.exe D:/myworkspace/test/test.py
今天是星期四
明天是星期五
后天是星期六 Process finished with exit code 0
2.读取一行 file.readline()
file = open('test.txt', 'r', encoding='utf-8') # 以写入方式打开文件
res2 = file.readline()
print(res2)
file.close()
运行结果:
C:\software\python\python.exe D:/myworkspace/test/test.py
今天是星期四 Process finished with exit code 0
3.按行读取所有内容 file.readlines()
file = open('test.txt', 'r', encoding='utf-8') # 以写入方式打开文件
res3 = file.readlines() # 一行保存为一个元素,组成一个列表,每行(除了最后一行)后面会带有一个换行符
print(res3)
file.close()
运行结果:
C:\software\python\python.exe D:/myworkspace/test/test.py
['今天是星期四\n', '明天是星期五\n', '后天是星期六'] Process finished with exit code 0
五、文件定位(了解即可)
- tell()方法告诉你文件内的当前位置;就是说,文件指针会在上次文字结尾后面,文件指针相当于我们阅读时,鼠标光标
- seek(offset, from)方法改变当前文件的位置
- offset:表示要移动的字节数(正数:忘文件结尾方向移动,负数:往文件开始方向移动)
- from:指定开始移动字节的参考位置,默认为1(0:参考位置为文件开头;1:参考位置为当前所在位置;2:参考位置为文件结尾)
file = open('test.txt', 'r', encoding='utf-8')
print(file.tell()) # 返回此时光标的位置(查看指针)
file.seek(0)) # 将文件光标移动到起始位置
file.seek(70)) # 将文件光标移动到70的位置
六、上下文管理器
with:(推荐使用)
开启open返回文件句柄对象的上下文管理器(执行完with里的代码语句之后,会自动关闭文件)
with open(file="text.txt", mode="r", encoding="utf-8") as f:
c = f.read()
print(c)
12、python文件的操作的更多相关文章
- python文件高级操作
python文件高级操作和注意事项等等 文件过大保护 由于read是一次性读取文件所有的内容,如果文件100G,内存就会吃不消,所以推荐使用read(size)一次读取指定字节/字符(根据rb,或者r ...
- python文件相关操作
Python文件相关操作 打开文件 打开文件,采用open方法,会将文件的句柄返回,如下: f = open('test_file.txt','r',encoding='utf-8') 在上面的代码中 ...
- Python文件基础操作(IO入门1)
转载请标明出处: http://www.cnblogs.com/why168888/p/6422270.html 本文出自:[Edwin博客园] Python文件基础操作(IO入门1) 1. pyth ...
- python 文件读写操作(24)
以前的代码都是直接将数据输出到控制台,实际上我们也可以通过读/写文件的方式读取/输出到磁盘文件中,文件读写简称I/O操作.文件I/O操作一共分为四部分:打开(open)/读取(read)/写入(wri ...
- Python 文件常见操作
# -*-coding:utf8 -*- ''''' Python常见文件操作示例 os.path 模块中的路径名访问函数 分隔 basename() 去掉目录路径, 返回文件名 dirname() ...
- Python 文件读写操作实例详解
Python提供了必要的函数和方法进行默认情况下的文件基本操作.你可以用file对象做大部分的文件操作 一.python中对文件.文件夹操作时经常用到的os模块和shutil模块常用方法.1.得到当前 ...
- python 文件 IO 操作
Python 的底层操作 * 其实Python的文件IO操作方法,和Linux底层的差不多 打开 f = open(filename , "r") 后面的 "r" ...
- python文件的操作
文件的操作,归根结底就只有两种:打开文件.操作文件 一.打开文件:文件句柄 = open('文件路径', '模式') python中打开文件有两种方式,即:open(...) 和 file(...) ...
- ~~Python文件简单操作~~
进击のpython Python文件操作 在说Python的文件操作之前 我们可以先思考一个问题 平时我们是怎么对电脑中的文件进行操作的呢? 打开电脑⇨找到文件⇨打开文件⇨读文件⇨修改文件⇨保存文件⇨ ...
随机推荐
- How to use code to exit the application in UWP
I will tell you how to exit the application in UWP by the code. We can call some static method to he ...
- ArcGIS-PictureMarkerSymbol-向地图添加图片标记
1.基于4.13 版本 <link rel="stylesheet" href="https://js.arcgis.com/4.13/esri/themes/li ...
- JAVA8学习——深入浅出Lambda表达式(学习过程)
JAVA8学习--深入浅出Lambda表达式(学习过程) lambda表达式: 我们为什么要用lambda表达式 在JAVA中,我们无法将函数作为参数传递给一个方法,也无法声明返回一个函数的方法. 在 ...
- Python之eval和exec
eval可以执行字符串形式的表达式 In [1]: eval("1 + 2 + 3") Out[1]: 6 In [2]: eval("a + 1", {&qu ...
- 前端——BOM与DOM
目录 前戏 window对象 window的子对象 navigator对象(了解即可) screen对象(了解即可) history对象(了解即可) location对象 弹出框 计时相关 DOM H ...
- JAVA异常类Throwable解析
在 Java 中,所有的异常都有一个共同的祖先java.lang包中的 Throwable类. Throwable: 有两个重要的子类:Exception(异常) 和 Error(错误) :二者都是 ...
- 洛谷$P4503\ [CTSC2014]$企鹅$QQ$ 哈希
正解:哈希 解题报告: 传送门$QwQ$ 直接$O(len)$枚举哪一位,然后把这一位删了重新拼接起来,存桶里查下就成 $over$? 主要的难点大概在卡哈希+卡常$QAQ$ #include< ...
- POJ2411 Mondriaan's Dream 题解 轮廓线DP
题目链接:http://poj.org/problem?id=2411 题目大意 给你一个 \(n \times m (1 \le n,m \le 11)\) 的矩阵,你需要用若干 \(1 \time ...
- 洛谷P1385 密令 题解 动态规划
题目链接:https://www.luogu.com.cn/problem/P1385 题目大意: 给定一小写字母串s,每次操作你可以选择一个p(1<=p<|s|)执行下述修改中的任意一个 ...
- web前端安全——常见的web攻击方法
面试题:你所了解的web攻击? 1.xss攻击 2.CSRF攻击 3.网络劫持攻击 4.控制台注入代码 5.钓鱼 6.DDoS攻击 7.SQL注入攻击 8.点击劫持 一.xss攻击 XSS攻击:跨站脚 ...