Python文本文件操作
Python文本文件操作
单个文本文件读取
1.读取文本文件的旧型语法
示例:
读取名为file_to_read.txt的文本文件内容。
文本文件内容:
I
love
Rock
n
Roll.
input_file = "E:/CVSwork/PythonDataAnalysisFoundation/file_to_read.txt" #文件路径
#文件路径以下面这种形式表示也行
#input_file = "E:\\CVSwork\\PythonDataAnalysisFoundation\\file_to_read.txt"
filereader = open(input_file, 'r') #'r' 表示打开文件的方式是只读
#按行输出文本文件内容
for row in filereader:print(row.strip()) #strip()用于取出每行最后的换行符
filereader.close() #关闭文件,必须执行这不操作
输出结果:
I
love
Rock
n
Roll.
2.读取文本文件的新型语法
示例:
与上面示例读取相同的文本文件
input_file = "E:/CVSwork/PythonDataAnalysisFoundation/file_to_read.txt" #文件路径
#文件路径以下面这种形式表示也行
#input_file = "E:\\CVSwork\\PythonDataAnalysisFoundation\\file_to_read.txt"
with open(input_file, 'r', newline = '') as filereader'for row in filereader:print(row.strip()) #strip()用于取出每行最后的换行符
运行结果:与上面相同。
新旧两种语法型区别:
- 从Python 2.5开始,支持新型语法;
- 新型语法采用with语句来创建文件对象;
- with语句结束时会自动关闭文件,不必使用filereader.close()。
3.读取整个文件
示例:
input_file = "E:/CVSwork/PythonDataAnalysisFoundation/file_to_read.txt" #文件路径
with open(input_file, 'r', newline = '') as filereader:content = filereader.read() #用read()读取整个文件print(content)
运行结果:与上面相同。
4.创建一个包含文件各行内容的列表
示例:
input_file = "E:/CVSwork/PythonDataAnalysisFoundation/file_to_read.txt" #文件路径
with open(input_file, 'r', newline = '') as filereader:lines = filereader.readlines() #用readlines()创建列表print(lines)
运行结果:
['I\r\n', 'love\r\n', 'Rock\r\n', 'n\r\n', 'Roll.']
使用glob读取多个文本文件
在很多商业应用中,需要对多个文件进行相同或相似的处理。
读取多的文件需要在脚本文上方添加 import glob
和 import os
两个语句。
当导入了os模块之后,就可以使用它提供的若干种路径名函数了。例如:os.path.join函数可以巧妙地将一个或多个路径成分连接在一起。glob模块可以找出与特定模式相匹配的所有路径名。os模块和glob模块组合在一起使用,可以找出符合特定模式的某文件夹下面的所有文件。
示例:
import os
import glob#inputPath是文件夹路径,该文件夹中存放file_to_read.txt与file_to_read2.txt
inputPath = "E:\\CVSwork\\PythonDataAnalysisFoundation"
for input_file in glob.glob(os.path.join(inputPath, '*.txt')):print("input_file: ", input_file)with open(input_file, 'r', newline = '') as filereader:for row in filereader:print(row.strip())
os.path.join()
函数将括号内的参数以文件路径的形式连接在一起,即 “E:\CVSwork\PythonDataAnalysisFoundation\filename.txt”; glob.glob()
函数按照特定模式进行路径名匹配,即在路径 “E:\CVSwork\PythonDataAnalysisFoundation” 下寻找txt文件。
运行结果:
input_file: E:\CVSwork\PythonDataAnalysisFoundation\file_to_read.txt
I
love
Rock
n
Roll.
input_file: E:\CVSwork\PythonDataAnalysisFoundation\file_to_read2.txt
I
like
jazz,
too.
写入文本文件
Python提供了两种简单的方法来将输出写入文本文件和分隔符文件。 write
方法可以单个字符串写入一个文件, writelines
方法可以将一系列字符串写入一个文件。
如果写入文件存在,则文件中原来的内容将会被覆盖;如果输入文件不存在,则会自动新建一个文件,然后再写入内容。
示例:
my_letters = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']
max_index = len(my_letters)#write
output_file = "E:\\CVSwork\\PythonDataAnalysisFoundation\\file_to_write.txt" #文件路径
filewriter = open(output_file, 'w') #创建文件对象,'w'表示‘可写’
for index in range(max_index):if index < max_index - 1:filewriter.write(my_letters[index] + "\t") #使用write写入文件else:filewriter.write(my_letters[index] + "\n")my_words = ["I ", "Love ", "Rock 'N' Roll."]
filewriter.writelines(my_words) #使用writelines写入文件
filewriter.close() #关闭文件
运行结果:
file_to_write.txt文件中的内容形式如下。
a b c d e f g h
I Love Rock 'N' Roll.
文本文件内容追加
将新的内容追加到一个已经存在的输出文件末尾(文件不存在则会新建一个)。与写入文件不同,追加不会覆盖文件中原来的内容。
示例:
output_file = "E:\\CVSwork\\PythonDataAnalysisFoundation\\file_to_append.txt"
filewriter = open(output_file, 'a')
filewriter.write("I'm Ziggy. " + "\n")
my_words = ["I ", "Love ", "Rock 'N' Roll."]
filewriter.writelines(my_words)
filewriter.close()
运行结果:
file_to_write.txt文件中的内容形式如下。
I'm Ziggy.
I Love Rock 'N' Roll.
再运行一次,file_to_write.txt文件中的内容形式如下。
I'm Ziggy.
I Love Rock 'N' Roll.
I'm Ziggy.
I Love Rock 'N' Roll.
在原文件内容后面又追加了一遍相同的内容。
关于参数 newline = ‘’
newline = “”;
\r 的意义。
文件打开方式
r: 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
rb: 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。
r+: 打开一个文件用于读写。文件指针将会放在文件的开头。
rb+:以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。
w: 打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
wb: 以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
w+: 打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
wb+:以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
a: 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
ab: 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
a+: 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
ab+:以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。
参考文献:
《Python编程从入门到实践》
《Python数据分析基础》
Python文本文件操作相关推荐
- python程序基础知识(五)python文本文件操作
目录 1.概述 2.写文本文件 3.读文本文件 3.1 读字符函数read 3.2 读取一行的函数readline和读取所有行的readlines 4.文件编码 5.文件指针 6.二进制文件 1.概述 ...
- python文本文件操作诗句给上一句输出下一句_[Python] 自动化办公 定制微信每日一句诗...
转载请注明:陈熹 chenx6542@foxmail.com (简书号:半为花间酒) 若公众号内转载请联系公众号:早起Python 这篇文章能学到的主要内容: 利用"喵提醒"推送消 ...
- python - 文本文件操作的方法
文件的操作 file文件使用流程: 1.打开文件 open("文件路径",mode='') 2.操作文件 file.read() .file.write() 3.关闭文件 file ...
- Python文件操作-文本文件、二进制文件、csv文件的读取写入、OS、shutil、CSV模块、常用字符编码
Python文件操作 文本文件和二进制文件 文件操作相关模块 open()创建文件对象 文件对象的常用属性和方法 pickle 序列化 文本文件读取和写入 文本文件写入步骤 write()/write ...
- 初学Python——文件操作第二篇
前言:为什么需要第二篇文件操作?因为第一篇的知识根本不足以支撑基本的需求.下面来一一分析. 一.Python文件操作的特点 首先来类比一下,作为高级编程语言的始祖,C语言如何对文件进行操作? 字符(串 ...
- python关闭读写的所有的文件-Python文件操作:文件的打开关闭读取写入
Python文件操作:文件的打开关闭读取写入 一.文件的打开关闭 Python能以文本和二进制两种方式处理文件,本文主要讨论在Python3中文本文件的操作. 文件操作都分为以下几个步骤: 1.打开文 ...
- Python文件操作学习总结
Python读写文件 1.open 使用open打开文件后一定要记得调用文件对象的close()方法.比如可以用try/finally语句来确保最后能关闭文件. file_object = open( ...
- python文本文件csv_我的第一个Python项目:如何将杂乱无章的文本文件转换为纯净的CSV文件
python文本文件csv So I decided to learn Python. Turns out this computer programming language isn't so ha ...
- cmd中如何运行python文件_在cmd中运行.py文件: python的操作步骤
在cmd中运行.py文件: python的操作步骤 1 打开cmd, 不改变运行的目录: 输入python 空格 调试好的python文件路径 或者python 空格 将python文件拖入cmd ...
最新文章
- JavaScript 函数声明,函数表达式,匿名函数,立即执行函数之区别
- 【Mac】【环境变量】
- python的语法类似php_PHP实现类似python__mian__=__name__来单独执行类文件
- Teradata天睿公司推出适用各种部署环境的全球最强分析数据库
- createdroptargets_使用DUILIB建立项目
- 不给糖果就捣乱,用Python绘制有趣的万圣节南瓜怪【华为云分享】
- Microsoft Edge更新:支持WebVR,使Flash可以即点即运行
- python网络编程初级
- Nacos 介绍 --- 单机、集群部署
- 计算机驱动程序检测,检测到计算机制造商图形驱动程序对于显卡驱动程序
- EnableViewState 属性
- eclipse快捷键总结
- 使用urllib发起请求- urlopen发起请求read/decode/getcode/info/geturl-post请求抽屉网
- html 水平、垂直 菜单栏
- matlab重叠保留法,【matlab实现】重叠相加法与重叠保留法
- 手机端网页尺寸html,手机端网页设计尺寸_html/css_WEB-ITnose
- 【C++版Opencv】【Ubuntu】VScode配置Opencv
- 最小二乘,最大似然,最大后验,查准率与查全率
- 计算机与生物科学结合的论文,生物信息学论文范文
- 未来可期(关于高考和现在处境的看法)
热门文章
- EndNote文献信息如何批量修改
- 信用5C分析法(转载)
- Qt之FFMpeg 实现视频解码、编码、转码流程详解
- vIDC2.0 端口映射工具
- win7讲述人修复_win7讲述人无法正常启动
- excel白屏未响应_关于Excel联网状态下打开某些xls(xlsx)文件巨慢(白屏,假死)...
- JIRA中导出BUG列表是CSV格式的,打开后是乱码
- mininet自建topo后查看信息的一些操作
- 2021年A特种设备相关管理(锅炉压力容器压力管道)报名考试及A特种设备相关管理(锅炉压力容器压力管道)新版试题
- keras报错 ValueError: Shape must be rank 1 but is rank 0 for 'bn_conv1/Reshape_4' (op: 'Reshape') 不用降级