#-*- 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() :
注意 读取文本文件时,Python将其中的所有文本都解读为字符串。如果你读取的是数字,并要将其作为数值使用,就必须使用函数int() 将其转换为整数,或使用函数float() 将其转换为浮点数。#-*- 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])#读取最后一位到倒数第五位的值