Python_面向对象_文件操作

-- 文件操作
# open() 创建或者打开文件
```
  功能:打开或者创建一个文件
  格式:open('文件路径','打开模式')
  返回值:文件io对象 (i:input输入 o:output输出 文件的输入输出对象)(或者说文件句柄)
```
'''
#打开模式
  w write 写入模式
  文件不存在则创建文件,存在的话则打开清空内容,并且将文件指针放在文件的开头

  r read 读取模式
  文件不存在则报错! 存在的话则打开文件,并且将文件指针放在文件的开头

  a append 追加模式
  文件不存在则创建文件,存在的话则打开文件,*并且将文件指针放在文件的末尾*

  x xor 异或模式
  文件已存在则报错! 不存在的话则创建文件,,将文件指针放在文件的开头

#扩展模式 (配合打开模式的辅助模式,自己单独不能使用)
  + plus 增强模式(可以让文件具有读写功能)
  b byte byte模式(二进制字节流)

#模式一共16种
  w,  w+,  wb,  wb+
  r,  r+,  rb,  rb+
  a,  a+,  ab,  ab+
  x,  x+,  xb,  xb+
'''

'''
  #将字符串和字节流(Byte流)类型进行转换 (参数写成转化的字符编码格式)
  #encode() 编码 将字符串转化为字节流(Byte流)
  #decode() 解码 将Byte流转化为字符串
'''

==========================================================================================

# 例一

fp = open("star.txt","a+")
fp.write("我有个故事o")
res = fp.tell()
print(res)
fp.seek(0)
res = fp.read()
print(res)
fp.close()
print("================================")
with open("star.txt","r") as fp:
res = fp.readlines()
print(res)


-- 文件相关函数
#seek()     功能:调整指针的位置
#tell()     功能:告诉我们当前光标在什么位置
#readline() 功能:读取一行文件
"""
参数:读取行内指定长度的字符,指定长度< 行总长度,读取指定长度,如果指定长度>行总长度,读取当前行!
"""
#readlines() 功能:将文件中的内容按照换行读取到列表当中
#writelines() 功能:将内容是字符串的可迭代性数据写入文件中 参数:内容为字符串的可迭代性数据
#truncate() 功能:把截取的字符串写入文件中 参数读的是字节

==========================================================================================

 

# writelines()
# 功能 将内容是字符串的可迭代性数据写入文件 参数 内容为字符串的可迭代性数据
with open("star.txt","w+") as fp:
  listvar = ["asdf","阿斯蒂芬","4564"]
  strvar = "梦想是美好的,现实是残酷的\n"
  fp.writelines(listvar)
  fp.writelines(strvar)


# readline() 功能:读取一行文字
with open("star.txt","r+") as fp:
  txt1 = fp.readline()
  txt2 = fp.readline()
  txt3 = fp.readline()
  print(txt1)  
  print(txt2)
  print(txt3)

 

print("===========================")

# 优化版 对于任意文件中的所有字符串全度出来
with open("star.txt","r+") as fp:
  res = fp.readline()
  while res :
    print(res)
    res = fp.readline()

 

print("===========================")

 

 

# 案例三
with open("star.txt","r+") as fp:
  txt1 = fp.readline(3000)
  txt2 = fp.readline(2)
  txt3 = fp.readline(5)
  print(txt1)
  print(txt2)
  print(txt3)

 

print("===========================")

 

# readlines() 功能 将文件内容按照换行读取到列表中

with open("star.txt","r+") as fp:
  res = fp.readlines()
  print(res)

print("===========================")


# trunacte() 功能 把截取的字符串重新写入文件中 参数 读的是字节
with open("star.txt","r+") as fp:
  fp.write("我爱你亲爱的菇凉")
  fp.truncate(6)
  fp.seek(0)
  res = fp.read()
  print(res)

"""
  # truncate() 参数读的是字节
  # seek() 参数读的是字节
  # read() 参数读的是字符个数
  # readline() 参数读的是字符个数
  # 参数 读取行内指定长度的字符 指定长度<行总长度 读取指定长度 如果指定长度>行总长度 读取当前行
"""

 

posted @ 2018-07-30 18:25  bling_bling_star  阅读(180)  评论(0编辑  收藏  举报