python基础-read_readline_readlines、write、tell光标、读取字节字符、for读取

来源:互联网 发布:origin矩阵散点图 编辑:程序博客网 时间:2024/06/05 04:23

        • 文件写入操作
        • with方法文件操作
        • 文件读取
          • readreadline
          • readlines
          • for读取
          • for读取去除空行
          • 字节读取写入
          • read文本字节模式读取
        • 光标

文件写入操作

"""open打开文件是依赖了操作系统的提供途径win gbkmac/linux utf-8"""#w是打开,之前的所有的东西都消失,w没有保存f = open("E:\\python\\py_pro\\file","w",encoding="utf-8")#或者添加rf = open(r"E:\python\py_pro\file","w",encoding="utf-8")#判断是否可写print(f.writable())#判断是否可读print(f.readable())#写入文件-strf.write("sdf3232")f.write("ghjtyj\n")f.write("忘记哦si")f.close()#w,只写模式【不可读;不存在则创建;存在则清空内容】f1 = open("fileTemp","w",encoding="utf-8")f1.write("aaa")f1.close()#python释放了内存中一个变量,其中del f一定要发生在f.close()之后,# 而python自动的垃圾回收机制决定了我们无需考虑del fdel f1#r ,只读模式【默认模式,文件必须存在,不存在则抛出异常】# f1 = open("fileT","r",encoding="utf-8")# f1.write("aaa")# f1.close()#a之追加写模式【不可读;不存在则创建;存在则只追加内容】f1 = open("fileT","a",encoding="utf-8")f1.write("aaa")f1.close()

输出

E:\python\python_sdk\python.exe E:/python/py_pro/safly.pyTrueFalse

我们来看下生成的3个文件
file
这里写图片描述

fileTemp
这里写图片描述

fileT
这里写图片描述

with方法文件操作

使用with关键字来帮我们管理上下文
这里写图片描述

文件读取

我们来看下read文件内容如下:
这里写图片描述


read、readline
print("-----#一次性读取------")f = open("read",encoding="utf-8")content = f.read()f.close()print(content.strip())print("------#一行行读取-----")f = open("read",encoding="utf-8")str1 = f.readline()str2 = f.readline()str3 = f.readline()str4 = f.readline()str5 = f.readline()#print()会输出文件中的换行(回车符换行)为一个空行print(str1)print(str2)print(str3)print(str4)print(str5)print("-----99999------")print(str1,end="")print(str2,end="")print(str3,end="")print(str4,end="")print(str5,end="")print("-----------")print(str1,str2,str3,str4,str5)print("---去掉回车换行符---")print(str1.strip())print(str2.strip())print(str3.strip())print(str4.strip())print(str5.strip())print("--------")

输出如下:

E:\python\python_sdk\python.exe E:/python/py_pro/safly.py-----#一次性读取------aawww e了忘记饿了为we------#一行行读取-----aawww e了忘记饿了为we-----99999------aawww e了忘记饿了为we-----------aa www e 了忘记饿了 为we---去掉回车换行符---aawww e了忘记饿了为we--------Process finished with exit code 0

在file文件中

aawww e了忘记饿了为we
str1 = f.readline()str2 = f.readline()str3 = f.readline()str4 = f.readline()str5 = f.readline()

打印第三行‘了忘记饿了’时候,会打印3个空行,因为2行有2个回车,还有一个空行,所以打印 3个


readlines
print("-----readlines------")f = open("read",encoding="utf-8")list = f.readlines()print(list)print("---read()-----")f = open("read",encoding="utf-8")count = f.read(5)print(count)

输出如下:

E:\python\python_sdk\python.exe E:/python/py_pro/safly.py-----readlines------['aa\n', 'www e\n', '了忘记饿了\n', '\n', '为we']---read()-----aawwProcess finished with exit code 0
for读取
print("------------for循环读取-----------------")#循环读取f = open("read",encoding="utf-8")for i in f:    print(i)print("------------for循环读取去空格-----------------")# #循环读取f = open("read",encoding="utf-8")for i in f:    print(i.strip())

输出如下:

E:\python\python_sdk\python.exe E:/python/py_pro/safly.py------------for循环读取-----------------aawww e了忘记饿了为we------------for循环读取去空格-----------------aawww e了忘记饿了为weProcess finished with exit code 0
for读取去除空行
fHandler = open("read",encoding="utf-8")for line in fHandler:    if line.strip():        print(line.strip())fHandler.close()

输出如下:

E:\python\python_sdk\python.exe E:/python/py_pro/safly.pyaawww e了忘记饿了为weProcess finished with exit code 0
字节读取写入
f = open("write","rb")str = f.read()f.close()print(str)f1 = open("aaa","wb")f1.write(str)f1.close()

字节无需编码,如下的

f = open("write","rb",encoding="utf-8")str = f.read()f.close()

报错如下:

Traceback (most recent call last):  File "E:/python/py_pro/safly.py", line 15, in <module>    f = open("write","rb",encoding="utf-8")ValueError: binary mode doesn't take an encoding argument
read文本、字节模式读取

 1. 文件打开方式为文本模式时,代表读取3个字符
 2. 文件打开方式为b模式时,代表读取3个字节
read文件如下:

aa嗯www e了忘记饿了为we
f = open("read",encoding="utf-8")count = f.read(5)print(count)f.close()f = open("read","rb")count = f.read(5)print(count)f.close()

输出如下:

E:\python\python_sdk\python.exe E:/python/py_pro/safly.pyaa嗯wb'aa\xe5\x97\xaf'Process finished with exit code 0

光标

read文件如下:

aa嗯wjk e了忘记饿了为we
"""aa嗯www e了忘记饿了为we"""f = open("read",'r',encoding="utf-8")print(f.tell())a1 = f.read(1)print(a1)print("-----")print(f.tell())a1 = f.read(1)print(a1)print("---")print(f.tell())a1 = f.read(1)print(a1)print("---")print(f.tell())a1 = f.read(1)print(a1)print("---")print(f.tell())a1 = f.read(1)print(a1)print("---")f.close()## print("+++++++++++++++")# f = open("read",'r',encoding="utf-8")# f.seek(1)# print(f.readline())# f.close()# print("-------------")## f = open("read",'r',encoding="utf-8")# print(f.readline())# f.close()# print("-------------")## """# f.seek(0) 开始# f.seek(0,2) 末尾## """# f = open("read",'r',encoding="utf-8")## f.seek(2)# f.seek(0,2)#

输出如下:

E:\python\python_sdk\python.exe E:/python/py_pro/safly.py0a-----1a---2嗯---5---7w---Process finished with exit code 0