代码改变世界

文件操作

2018-11-14 18:42  职业冒险家  阅读(112)  评论(0编辑  收藏  举报
#R
f=open("file/wuse",mode="r",encoding="UTF-8")
s=f.read()
#f.write("大洋哥") #r 不可写
f.close()
print(s)
#w
f=open("小护士",mode="w",encoding="UTF-8")# 写入之前会情掉原来的内容
f.write("苍井空")
f.write("杜十娘")
f.flush()#刷新操作 管道
f.close()
#a
f=open("小护士模特",mode="a",encoding="UTF-8")# 在原来的基础上进行追加内容.
f.write("小龙女")
f.flush()
f.close()
#rb
f=open("小护士模特",mode="rb")# 读取的内容直接就是字节 所以不用解码
s=f.read()#b'\xe6\x9d\x9c\xe5\x8d\x81\xe5\xa8\x98\xe5\xb0\x8f\xe9\xbe\x99\xe5\xa5\xb3\xe5\xb0\x8f\xe9\xbe\x99\xe5\xa5\xb3'
f.close()
print(s.decode("UTF-8")) #在这里进行解码 杜十娘小龙女小龙女小龙女

#wb
f=open("小护士模特",mode="wb")
f.write("你好啊".encode("UTF-8")) #不进行 编码 就报错 因为是wb (b是字节的意思)
f.close()
# w, r, a 处理文本=== wb, rb, ab b: 处理的是非文本
#文件操作-r+
f=open("老师点名",mode="r+",encoding="UTF-8")# r+模式, 默认情况下光标在文件的开头, 必须先读, 后写 才是安全的
s=f.read()
f.write("周星星")
f.flush()
f.close()
print(s)

 

#w+写读
f=open("亵渎",mode="w+",encoding="UTF-8")# w 操作.会清空原来的内容. w+ 基本是不用的.因为不好用
f.write("今天天气")
f.seek(0) #设置光标移动 回到起点
s=f.read() #直接读读不出来 因为光标在最后了
f.flush()
f.close()
print(s)


# ##############光标专栏  深坑
# f=open("精品",mode="r+",encoding="UTF-8")
# s=f.read(3) # 读光标所在的 前几个,
# ss=f.read(3)
# # # 不管你前面读了几个. 后面去写都是在末尾
# f.write("哈哈") # 哈哈 抛到了最后边 # 1.在没有任何操作之前进行写. 在开头写 2. 如果读取了一些内容. 再写, 写入的是最后
# f.close()
# print(s) #浓缩的
# print(ss)#都是精
f=open("精品",mode="r+",encoding="UTF-8")
# f.seek(3) #seek(这里便是字节 UTf-8中三个字节一个汉字) 移动一个字 # 移动到xx位置
# print(f.read()) #人都是精品,我就不是dsadf精品,潘长江是巴拉巴拉小魔仙66哈哈
# # 移动到开头: f.seek(0) 开头
# # 移动到末尾: f.seek(0, 2) 末尾 第二个参数有三个值. 0: 再开头, 1: 在当前, 2: 末尾

# #超人都是精品,我就不是dsadf精品,潘长江是巴拉巴拉小魔仙66哈哈
# f.seek(6)#移动 6 个字节 俩个字
# s=f.read(3)
# print(s) #都是精
# ss=f.read(3)
# print(ss) #品,我

记得请教一下
with open("吃的",mode="r",encoding="UTf-8")as f1 ,\
open("吃的_副本",mode="w+",encoding="UTf-8")as f2: #\ 是换行
# s=f1.read()
# ss=s.replace("肉","菜")
# f2 .write(ss)
# print(s)
for line in f1:
print(line)
s=line.replace("肉","菜")
f2.write(s)
#print(f2.read())
os.remove("吃的") # 删除文件
os.rename("吃的_副本","吃的") # 重命名文件

 


#输出特定的行
# f=open("吃的",mode="r",encoding="UTF-8")
# count=0
# for line in f:#每次读# 取一行 赋值给前面的line变量
# if count !=5:
# count+=1
# continue
# print(line)
# count+=1
# # input("<<<")
# f.close()