内网网站建设的步骤过程,做网站的点子,深圳互联网推广,建网站的好处我们的目标是#xff1a;通过这一套资料学习下来#xff0c;通过熟练掌握python基础#xff0c;然后结合经典实例、实践相结合#xff0c;使我们完全掌握python#xff0c;并做到独立完成项目开发的能力。 上篇文章我们讨论了文件的打开、创建、关闭的相关知识。今天我们将… 我们的目标是通过这一套资料学习下来通过熟练掌握python基础然后结合经典实例、实践相结合使我们完全掌握python并做到独立完成项目开发的能力。 上篇文章我们讨论了文件的打开、创建、关闭的相关知识。今天我们将学习一下文件的读的相关操作知识。 1、读取文件read()方法
在python中通过打开文件后就可以读取文件内容了。
读取指定字符方法方法 file.read(size)
file----为打开的文件对象
size---为可选参数用于指定要读取的字符个数若是省略则一次性读取所有内容。
注意调用read()方法读取文件内容的前提是打开文件时打开模式r或者r。 举例说明读取文件test_data.txt
def main(): with open(test_data.txt, r) as test_data_file: test_data test_data_file.read() #读取文件中全部内容 print(test_data)
输出参考
xiaomi,123456
xiaohua,135790
xiaohui,246810 另外举例读取一部分字符
def main(): with open(test_data.txt, r) as test_data_file: test_data test_data_file.read(13) #读取前13个字符 print(test_data) 输出结果
xiaomi,123456 2、seek指定光标位置
上面我们使用read()方法读取文件读取文件都是从开头开始读取的。如果我们想从某一位置开始读取要怎么实现呢可以使用seek()方法将文件的指针移动到新的位置处。然后在使用read(size)方法读取文件。
seek语法 file.seek(offset, [, whence])
参数说明offset----表示要移动的字节数可以为正数、负数或零。 whence可选----表示移动文件指针的参考位置默认值为0。有三种取值0表示从文件开头开始计算偏移量。1表示从当前位置开始计算偏移量。2表示从文件末尾开始计算偏移量。 举例说明
def main(): with open(test_data.txt, r) as test_data_file: test_data_file.seek(7) #索引也是从0开始7指第8个字符开始 test_data test_data_file.read(6) #从第8个字符读取6个字符即读取密码 print(test_data)
参考下面的文档内容
输出结果123456 举例读取最后一组数据 def main(): with open(test_data.txt, r) as test_data_file: test_data_file.seek(-12,2) #移动到文件末尾向前第12位置 test_data test_data_file.read(12) #读取12个字符即读取最后一组数据 print(test_data)
执行报错了因为以r模式打开只支持从文件头开始计算相对位置。以rb方式才支持从文件末尾计算。 修改后查看
def main(): with open(test_data.txt, rb) as test_data_file: test_data_file.seek(-14,2) #移动到文件末尾向前第14位置 test_data test_data_file.read(14) #读取14个字符即读取最后一组数据 print(test_data) 输出参考正确输出最后一行数据 3、readline()读取一行
在使用read()方法读取文件时如果文件很大一次性读取全部内容到内存容易造成内存不足。如何解决这个问题呢可以通过读取一行数据。
使用语法file.readline()
同样需要注意使用此方法也要打开模式是r只读或者r读写。
举例说明如我们读取上面test_data.txt 按行输出并加上序号。
参考代码
def main(): with open(test_data.txt, r) as test_data_file: #打开文件 sequence_no 0 while True: sequence_no sequence_no1 #作为序号输出 line test_data_file.readline() #读取一行数据 if line : #读取到文件末尾退出循环即退出读取文件 break print(sequence_no,\t line) #打印序号和一行内容 输出结果
1 xiaomi,123456 2 xiaohua,135790 3 xiaohui,246810 4、读取全部行readlines()
使用readlines()可以读取全部文件内容此方法返回值是一个字符串列表。
使用语法file.readlines()
同样需要注意使用此方法也要打开模式是r只读或者r读写。
举例说明如我们读取上面test_data.txt def main(): with open(test_data.txt, r) as test_data_file: # 打开文件 test_data test_data_file.readlines() #读取全部内容 print(test_data)
输出结果
[xiaomi,123456\n, xiaohua,135790\n, xiaohui,246810] 若是想一行行的输出也可以循环打印
def main(): with open(test_data.txt, r) as test_data_file: # 打开文件 test_data test_data_file.readlines() #读取全部内容 for line in test_data: print(line)
输出结果参考 5、读取csv文件
数据为my_data在CSV文件中存储的。 内容如下 读取csv方法导入csv模块reader()读取输出信息查看 #coding utf-8 import csv #导入csv 包 def main(): user_file csv.reader(open(my_data.csv, r)) # 打开文档并读取 for line in user_file: #按行输出 print(line) 执行后输出结果参考 [zhangsan, 123456]
[wangwu, 257890]
[liuliu, 358147] 今天先写学习到这里了每天进步一点点。明天也要加油啊