Python既然作为开发语言,肯定不可避免要操作外部文件,比如读取外部文件然后进行计算,比如将运算的结果存储到本地文件。下面演示python常用的操作文件的方法。

在 Python 中要操作文件需要记住 1 个函数和 3 个方法

序号 函数/方法 说明
01 open 打开文件,并且返回文件操作对象
02 read 将文件内容读取到内存
03 write 将指定内容写入文件
04 close 关闭文件
  • open 函数负责打开文件,并且返回文件对象
  • read/write/close 三个方法都需要通过 文件对象 来调用

1.新建(打开)文件和关闭文件

1.1在python,使用open函数,可以打开一个已经存在的文件,或者如果该文件不存在,则会创建一个新文件。

格式如下:open("文件名",访问模式) ,默认的创建的目录在当前程序所在的目录

fo=open("myfile.doc",'w') #该文件不存在,则在当前目录创建该文件,如下图:

常用的访问模式用法:

温馨提示:频繁的移动文件指针,会影响文件的读写效率,开发中更多的时候会以 只读、只写 的方式来操作文件

访问模式 说明
r 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
w 打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
a 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
rb 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。
wb 以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
ab 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
r+ 打开一个文件用于读写。文件指针将会放在文件的开头。
w+ 打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
a+ 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
rb+ 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。
wb+ 以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
ab+ 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。

1.2因为文件的读取是流式的,像一个水管的阀门一样。每次读取操作的文件的时候,要先打开阀门open(),所以用完也要关闭。直接fo.close()即可。

# 新建一个文件,文件名为:test.txt
f = open('test.txt', 'w')
# 关闭这个文件,文件操作完毕要将流给关闭
f.close()

2.文件的读写操作read/write

1.写数据:使用write(“content”),可以完成向文件写入数据,注意:如果文件不存在那么创建,如果存在那么就先清空文件(覆盖),然后写入数据到文件里.

f = open('write_demo.txt', 'w') #打开文件,往哪个文件里写入数据。如无,创建。
print ("文件名为: ", f.name)  #f.name打印文件的名称,带拓展名
f.write('hello ,I am writing ') #注意write写入是先将文件内容清空,然后再写入。
f.close() #关闭文件

2.读数据:使用read(num)可以从文件中读取数据,num表示要从文件中读取的数据的长度(字符个数),如果没有传入num或者为负,那么就表示读取文件中所有的数据,read()将读取的数据以字符串的形式返回。注意:

  • 如果open是打开一个文件,那么可以不用写打开的模式,即只写 open('aaa.txt')
  • 如果使用read读了多次,那么后面继续使用read读取的数据是从上次读完后的位置开始的
  • 注意:read ()方法默认会把文件的所有内容 一次性读取到内存,当然可以指定读取的字符数如果文件太大,对内存的占用会非常严重
#1.准备文件
f = open('write_demo.txt', 'w+') #新建文件,w+表示用于读写
f.write('你好abc王晓明,hello ')  #写入内容
f.close() #文件关闭#1.读取文件开始
f=open("write_demo.txt",'r')
content=f.read(3)  #3表示读取3个字符,虽然说是byte。但是有中文时实际按字符返回的
print("读取的内容:%s"%content)
content1=f.read(1)  #注意如果用read(),读取全部,后面再加read(num),就没有内容可读了。返回空字符串
print("读取文件的内容:%s"%content1)
content2=f.read(5)
print("读取文件的内容:%s"%content2)
f.close()
'''
读取的内容:你好a
读取文件的内容:b
读取文件的内容:c王晓明,
'''

3.读数据:readlines()可以按照行的方式把整个文件中的内容进行一次性读取,读取所有行(直到结束符 EOF)并返回列表,并且返回的是一个列表,其中每一行(按着换行符进行判断一行)的数据为一个元素。

f = open('test.txt', 'r')
content = f.readlines() #读取文件中的全部行,按行划分存储到列表中,类型字符串
print(type(content))  #打印读取结果的值类型,用list列表存储i=1  #遍历列表,将读取的内容显示出来,按照原来文件的行划分。
for temp in content:print("%d:%s"%(i, temp))i+=1
f.close()
'''
<class 'list'>
1:hello,world,2:this is a demo
'''

4.读数据:readline(),对原文件的数据按行读取,(行的划分是\n).每次只读取一行。如果有多次读取的话,下面一次读取的偏移量是上面读取后的偏移量。

f = open('test.txt', 'r')
content = f.readline()
print("第一次读取:%s"%content)content = f.readline()
print("第二次读取:%s"%content)f.close()
'''
第一次读取:hello,world,第二次读取:this is a demo
'''

统一声明:关于原创博客内容,可能会有部分内容参考自互联网,如有原创链接会声明引用;如找不到原创链接,在此声明如有侵权请联系删除哈。关于转载博客,如有原创链接会声明;如找不到原创链接,在此声明如有侵权请联系删除哈。

Python中文件的open,close,read,write等操作相关推荐

  1. python怎么把数据写入txt-如何将python中文件写入TXT

    这篇文章主要介绍了如何将python中文件写入TXT,小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随小编过来看看吧 1.自己写入txt 直接上核心代码:with open("d ...

  2. python对文件的读操作有哪些方法-Python中文件的读取和写入操作

    从文件中读取数据 读取整个文件 这里假设在当前目录下有一个文件名为'pi_digits.txt'的文本文件,里面的数据如下: 3.1415926535 8979323846 2643383279 wi ...

  3. python对文件的读操作方法有哪些-Python中文件的读取和写入操作

    从文件中读取数据 读取整个文件 这里假设在当前目录下有一个文件名为'pi_digits.txt'的文本文件,里面的数据如下: 3.1415926535 8979323846 2643383279 wi ...

  4. python 中文件输入输出及os模块对文件系统的操作

    整理了一下python 中文件的输入输出及主要介绍一些os模块中对文件系统的操作. 文件输入输出 1.内建函数open(file_name,文件打开模式,通用换行符支持),打开文件返回文件对象. 2. ...

  5. python中文件位置的书写

    1:python中文件位置的书写 前面加r,表示不转义 \t \n都是转义字符 SyntaxError: (unicode error) 'unicodeescape' codec can't dec ...

  6. python36_第36 p,就这几个方法,Python中文件的操作

    大家好,我是杨数Tos,这是<从零基础到大神>系列课程的第X篇文章,第二阶段的课程:Python基础知识:Python中文件的操作(下篇). 学习本课程,建议先看一遍:[计算机基础知识]课 ...

  7. python中文件描述符_Python中的描述符

    python中文件描述符 In Python, a class that implements a get, set or delete methods for an object is called ...

  8. python中文件变化监控-watchdog

    起步 在python中文件监控主要有两个库,一个是pyinotify,一个是watchdog.pyinotify依赖于Linux平台的inotify,后者则对不同平台的的事件都进行了封装.因为我主要用 ...

  9. Python中文件操作和文件夹操作的学习笔记

    目录 1 前言 2 工作目录设置 设置工作目录: 获取当前运行文件目录 将工作目录重置为当前运行文件的父目录 遍历文件夹中所有的子文件(包含子文件.孙文件): 3 判断文件(夹)是否存在 4 文件读写 ...

最新文章

  1. Apache Beam的架构概览
  2. Python3之deepcopy在print调试中的使用技巧
  3. C++ Primer 5th笔记(chap 18 大型程序工具)构造函数与虚继承
  4. OpenBSD如何挂载USB闪存盘
  5. 可能是最先出来的关于介绍使用Vue3的一本书
  6. Codeforces D - High Load
  7. websocket实现java服务端与js端通信
  8. Jquery 同个类名中点击的显示其他隐藏的效果
  9. git revert 之后怎么撤销_Git 如何优雅地回退代码
  10. Java入门:JDK与Eclipse之类的集成开发工具的关系
  11. win7 64BIT下使用VC2005的问题
  12. 省市区mysql一张表下载_2016全国省市区数据库
  13. SVM 垃圾邮件分类
  14. catia工程图纸中如何画图_catia工程图 方法和步骤
  15. firewalld 指定IP访问某端口
  16. WGCNA那么多图,都啥意思? 官网
  17. 100条经典C++笔试题目及答案分享
  18. Matlab论文插图绘制模板第31期—堆叠折线图(stackedplot)
  19. 共享软件开发者、独立软件开发者
  20. css如何让不自动换行,css实现强制不换行/自动换行/强制换行

热门文章

  1. 计算机应用能力达中级及以上水平,中级职称填报说明及准备材料
  2. mysql 创建函数 权限_MySQL赋予用户执行自定义Function的权限
  3. mac php phpize,macOS 中使用 phpize 动态添加 PHP 扩展的错误解决方法
  4. java 浏览器 安全_使用 IE 浏览器浏览网页时,出于安全方面的考虑,需要禁止执行 Java Script ,可以在 IE 中 ( )。...
  5. Go IDE vscode (by quqi99)
  6. rational clearcase 提交活动注意
  7. linux内核 异常 log,Linux Kernel WARN()/BUG(), Oops/Panic, Tainted分析
  8. top日常(参数详解)
  9. 惠更斯与巴罗,牛顿与胡克
  10. 《吴军硅谷来信》笔记(不定期加更)