🌷python读取文件部分,一般我用的比较多的都是利用pandas库里面的read_xxx方法,对python自己内置的读取文件方法不是很了解,今天总结一下。
我们首先有个text01.txt,我们读取整个文件,看看里面有什么内容
#读取整个文件
with open('text01.txt') as file_read:
content=file_read.read()
print(content)
结果如下:
我们先来看看函数open()。要想使用文件第一步都得先打开文件,这样才能访问它,我们看一下这些函数都起到什么作用:
一般来说,如果需要读取的文件和程序文件在一个文件目录下面,open()函数中直接写文件路径名即可,如果不在同一目录下,那么就需要确定读取文件的确定位置。
我的文件在该目录下:
读取文件时这样,需要注意的是文件地址用的是 ‘\’ 而不是 ‘/’ ,最重要的的是不要有中文目录,可能会报错,原因是因为中文的编码问题
#绝对路径读取文件
with open('\Users\macos\pyproject\text01.txt') as file_read:
content=file_read.read()
print(content)
读取文件时,常常需要检查其中的每一行:你可能要在文件中查找特定的信息,或者要以某种方式修改文件中的文本。
#逐行读取文件并输出
with open('text01.txt') as file_read:
for line in file_read:
print(line)
这里我们利用for循环将读取的内容逐行打印了出来。
使用关键字with时,open()返回的文件对象只在with代码块内可用。如果要在with代码块外访问文件的内容,可在with代码块内将文件的各行存储在一个列表中,并在with代码块外使用该列表:你可以立即处理文件的各个部分,也可推迟到程序后面再处理。
with open('text01.txt') as file_read:
#将文件存在lines中
lines = file_read.readlines()
#循环读取文件
for line in lines:
print(line.rstrip())#rstrip除去空白
readlines()从文件中读取每一行,并将其存储在一个列表中;接下来,该列表被存储到变量lines中;在with代码块外,我们依然可以使用这个变量。for循环来打印lines中的各行。由于列表lines的每个元素都对应于文件中的一行,因此输出与文件内容完全一致。
结果如下:
读文件是使用文件的基础,那么写入文件就是保存文件的基础。
#将文本写入到text02.txt文件
with open('text02.txt','w') as file_read:
file_read.write('I love wulip')
结果如下:打开文件text02.txt
写入多行需要注意的是使用换行符,如果不使用,将还是在一行。
#不使用换行符
with open('text03.txt','w') as file_read:
file_read.write('I love wulip')
file_read.write('she is my apple')
结果都挤在一行了:
使用换行符后
with open('text03.txt','w') as file_read:
file_read.write('I love wulip \n')
file_read.write('she is my apple \n')
结果如下:
上面我们说到‘w’模式是写入文件,会直接清除之前写入的内容,这里我们介绍一下怎么追加写入道文件中。
#追加写入文件
with open('text03.txt','a') as file_read:
file_read.write('wulip love me too \n')
file_read.write('she is my baby \n')
结果如下:
以附加模式 ‘a’ 打开文件时,Python不会在返回文件对象前清空文件,而你写入到文件的行都将添加到文件末尾。 如果指定的文件不存在,Python将为你创建一个空文件。
《python数据结构与算法》
《大话数据结构》
《python从入门到实践》
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://liuxiaocong.blog.csdn.net/article/details/122385826
内容来源于网络,如有侵权,请联系作者删除!