python读取txt文件

时间:2024-11-18 11:29:43

#-*- coding:utf-8 -*-
with open('C:\\Users\\Administrator\\Desktop\\') as read_file:
    content=read_file.read()
    print(content)



相比于原始文件,该输出唯一不同的地方是末尾多了一个空行。为何会多出这个空行呢?因为read() 到达文件末尾时返回一个空字符串,而将这个空字符串显示出来时就是一个空行。要删除多出来的空行,可在print 语句中使用rstrip()

以上是读取整个文件。


逐行读取:

读取文件时,常常需要检查其中的每一行:你可能要在文件中查找特定的信息,或者要以某种方式修改文件中的文本。例如,你可能要遍历一个包含天气数据的文件,并使用天气描述中包含字样sunny的行。在新闻报道中,你可能会查找包含标签<headline> 的行,并按特定的格式设置它。
要以每次一行的方式检查文件,可对文件对象使用for 循环:


我们将要读取的文件的名称存储在变量filename 中,这是使用文件时一种常见的做法。由于变量filename 表示的并非实际文件——它只是一个让Python知道到哪里去查找文件的字符串,因此可轻松地将'' 替换为你要使用的另一个文件的名称。调用open() 后,将一个表示文件及其内容的对象存储到了变量read_file中。这里也使用了关键字with ,让Python负责妥善地打开和关闭文件。为查看文件的内容,我们通过对文件对象执行循环来遍历文件中的每一行
我们打印每一行时,发现空白行更多了:


为何会出现这些空白行呢?因为在这个文件中,每行的末尾都有一个看不见的换行符,而print 语句也会加上一个换行符,因此每行末尾都有两个换行符:一个来自文件,另一个来自print 语句。要消除这些多余的空白行,可在print 语句中使用rstrip() :



#-*- coding:utf-8 -*-
# 将读取到的每行数据保存到一个变量中
filename='C:\\Users\\Administrator\\Desktop\\'
readfilecontent=''
with open(filename) as read_file:
    for line in read_file:
        readfilecontent+=()
        #注意rstrip()函数是去掉末尾的空格,如果去除中间的空格就用strip()函数

print( readfilecontent)
print(len(readfilecontent))#输出长度
print(readfilecontent[-1])#读取最后一位
print(readfilecontent[1:10])#读取下标从1开始到10结束的数据
print(readfilecontent[3])#读取第3位数据
print(readfilecontent[-5:-1])#读取最后一位到倒数第五位的值



注意  读取文本文件时,Python将其中的所有文本都解读为字符串。如果你读取的是数字,并要将其作为数值使用,就必须使用函数int() 将其转换为整数,或使用函数float() 将其转换为浮点数。