本文目录一览:
- 1、python操作文本文件
- 2、python 读取txt文件多少行
- 3、python如何指定写入内容的行数,以及如何读取指定行数(已知)?
- 4、如何用python读取文本中指定行的内容
- 5、python怎样读取txt文件的数据内容
python操作文本文件
在磁盘上读写文件之前,必须先打开这个文件。打开文件就需要提供文件的路径。
在与Python程序同一个目录下,我们有一个名为 pi.txt 的文件,它的内容如下:
现在使用Python来打开和关闭它:
执行此程序不会有任何输出,这表示着打开和关闭文件都得到了正确执行。
可以看到,使用 open() 函数打开文件,参数为文件名(或文件路径);该函数会返回一个文件句柄,文件句柄并不会实际保存文件的内容,而是代表着一种操作,在上面的例子中,文件句柄被赋值给变量 fhand 。
打开文件后,程序具有读(默认)该文件的权限。
最后,使用文件句柄的 close() 方法关闭文件。这非常重要,因为使用完而没有关闭的文件会占用内存或造成安全问题。
如果Python找不到该文件,则会返回错误,比如下面这样:
Python提示我们没有相应的文件或者目录: 'pii.txt'。
打开文件后就可以对文件进行操作:
fhand.read() 方法将文件内容作为一个字符串返回。
文件中的每一行末尾使用换行符 \n 表示换行,例子中方法 rstrip() 去掉文本中的换行符,然后输出。
程序的运行效果如下:
如果在文件关闭之前程序发生BUG意外退出,则文件不会关闭,为了避免此类事件的发生,可以使用 with 语句:
with 语句的特点是即便在操作文件时发生错误,文件也会自动被清理。
fhand.read() 虽然可以读取文本内容,但是当我们想要逐行处理文件内容,或者文件很大而无法一次性加载进内存的时候,就不适用了。
可以使用 for 语句逐行处理文件内容:
本程序中将文件名保存在变量 filename 中。
打开文件后,使用 for 语句按行读取文件内容。例子中,每次循环依次取一行文本以字符串的格式保存在变量 line 中,每次循环中变量 count 自增1。
这个程序的作用是,打开程序所在目录的 when_old.txt 文件,然后统计行数,并输出结果。
when_old.txt 文件的内容是:
可以使用其他方法操作字符串 line :
程序将以 'And' 开头的行打印出来。
打开文件后,默认的权限是读(r),如果要写文件,则需要使用写(w)或者追加(a)权限。
w权限,打开一个文件用于写入。如果该文件存在,则覆盖该文件;如果该文件不存在,则创建该文件。
a权限,打开一个文件用于追加。如果该文件存在,在文件末尾追加;如果该文件不存在,则创建该文件。
下面是一个使用w权限打开文件的例子:
例子中使用w权限打开该文件,并写入两行。(如果该文件存在,则内容会被覆盖)
fhand.write() 不会自动添加换行符,所以如果需要换行,需在末尾添加 \n 。
下面我们写一个统计文件中词频的程序。
它会统计文件中各个词的出现的次数,然后由高到低显示出前5个词。
首先我们完成打开和关闭文件的程序内容:
在例子中,由用户输入文件名,并且使用异常捕获以处理文件打开时的错误。
下面对内容进行统计:
这个程序:
如此,我们就在字典中存放了 单词:次数 的键值对。
由于字典不能保存顺序,所以不能对其进行排序。为此,将每个键值对都添加到一个列表中:
在列表 word_list 中,每一项都是一个元组,每个元组第一个值是单词出现的次数,第二个值是单词内容。
对其进行逆向(由大到小)排序:
打印最终结果:
整个程序如下:
下面是程序运行结果的示例:
python 读取txt文件多少行
以下是读取hanoi.py程序行数的示例程序,供参考。
f=open('hanoi.py','r')
lines=f.readlines()
f.close()
n=0
for line in lines:
n=n+1
print(n)
python如何指定写入内容的行数,以及如何读取指定行数(已知)?
不用关心行数。
只要把要保存的变量,用字典组织起来。然后用str()行数转成字符串存到文件中。
读取的时候,只要将读取的字符串,用eval()行数,再转回字典,然后按key进行区分,分别还给变量就可以了。
如何用python读取文本中指定行的内容
1.默认你知道“指定行”的行号
那么:
def appoint_line(num,file):
with open(file,"r",encoding='utf-8') as f:
out = f.readlines[num-1]
return out
print(appoint_line(2,"c:/text.txt"))
以上示例为读取c盘下的text.txt文件的第二行
2.假如所谓“指定行”为开头几个字符,这里假设为三个
def appoint_line(file):
# appoimt_spring是指你指定行的前三个字符,你可以自行指定
appoint_spring = input("").strip()
with open(file,"r",encoding='utf-8') as f:
for line in f.readlines():
if line[0:3] == appoint_spring:
return line
print(appoint_line("c:/text.txt"))
以上示例为根据你输入的所指定行的前三个字符打印出c盘下的text.txt文件下的“指定行”
python怎样读取txt文件的数据内容
我们使用python的时候经常需要读取txt文件中的内容,那么该如何读取呢?下面我给大家分享一下。
01
首先我们新建一个txt文件,在里面写入一些内容,如下图所示
02
接下来打开运行界面,输入CMD命令,如下图所示
03
然后进入CMD界面以后我们输入python命令进入python环境,如下图所示
04
最后我们通过python中的open方法打开txt文件,然后通过read方法读取文件内容,如下图所示