python中文件读写的相关操作及应用
Posted 铁子
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python中文件读写的相关操作及应用相关的知识,希望对你有一定的参考价值。
1:既读又写
1 with open(\'数据\',mode=\'r+\',encoding=\'utf-8\') as f: 2 print(f.read()) #输出结果:python与人工智能密切相关 3 f.write(\'java也不错\') 4 print(f.read()) #输出结果:无输出 ,如果我们想打印 5 # 写入的内容,但是因为光标已经 6 # 移到了字符串的结尾了,所以这里我们 7 #可以使用tell()与seek()来确定位置
改进过后:
1 with open(\'数据\', mode=\'r+\', encoding=\'utf-8\') as f: 2 print(f.read()) # 输出结果:python与人工智能密切相关 3 f.write(\'java也不错\') 4 print(f.tell()) # 输出结果:46 其中一个字母1个字节,一个汉字三个字节,所以下面-13 5 f.seek(f.tell()-13) 6 print(f.read()) # 输出结果:java也不错
seek()将官光标的位置移到需要的位置,tell()返回当前光标的位置
2:写读(不常用)
1 with open(\'数据\', mode=\'w+\', encoding=\'utf-8\') as f: 2 f.write(\'java也不错\') 3 print(f.read()) # 输出结果:无任何输出,相比w的不同处就在于f.read()不会报错,同样,a+也是如此 4 # 就不在这里做赘述了
3:readline()用法:每次只读一行
1 with open(\'数据\', mode=\'r+\', encoding=\'utf-8\') as f: 2 print(f.readline()) # 输出结果:java也不错 3 print(f.readline()) # 输出结果:python也是个好工具 4 print(f.readline()) # 输出结果:c++也不逊色呦
4:readlines()用法:每一行当作列表中的一个元素,然后打印出来
1 with open(\'数据\', mode=\'r+\', encoding=\'utf-8\') as f: 2 print(f.readlines()) # 输出结果:[\'java也不错\\n\', \'python也是个好工具\\n\', \'c++也不逊色呦\']
5:for循环(可以将文件中的所有内容按照原文件格式打印)
1 with open(\'数据\', mode=\'r+\', encoding=\'utf-8\') as f: 2 for line in f: 3 print(line) #输出结果:java也不错 4 # python也是个好工具 5 # c++也不逊色呦
6:注册登录的应用
username = input(\'请输入您需要注册的用户名:\') password = input(\'请输入您的密码:\') with open(\'list_of_info\',mode=\'w\',encoding=\'utf-8\') as f: f.write(\'{}\\n{}\'.format(username,password)) list_data = [] i = 1 while i <= 3: usn = input(\'请输入您的用户名:\') psd = input(\'请输入您的密码:\') with open(\'list_of_info\', mode=\'r+\', encoding=\'utf-8\') as f1: for line in f1: list_data.append(line) # print(list_data) if usn == list_data[0].strip() and psd == list_data[1].strip(): print(\'登录成功\') break else: print(\'请重新登录!\') i += 1
以上是关于python中文件读写的相关操作及应用的主要内容,如果未能解决你的问题,请参考以下文章