19-python-文件操作

# 文件操作
# 绝对路径:以x盘开始下的文件
# 相对路径:当前目录下的文件
# 以什么编码方式保存的文件,就以什么编码方式打开

# read() 读位置
# 按照字符来读取,默认从0开始,参数写几就从第几个开始读

# seek() 设置位置
# 按照字节来决定光标的位置 (一个汉字三个字节)

# tell() 当前位置
# 告诉你光标当前的位置

# readable()
# 是否可读 返回 True 和 False

# readline()
# 一行一行的读

# readlies()
# 每一行当成列表的元素,添加到列表(list)中 可以for

# truncate()
# 在原文件进行截取,参数写几就街区几个

# 知识点1
# 可以用for 将文件打印出来(注:在不知文件大小的情况下不要一次性打印,可以用read() 一点一点读取)

# 知识点2 简便写法:可以省略 close() 而且可以同时读取(open())多个
with open('w',mode='r+',encoding='utf-8') as s1,\
      open('w',mode='w+',encoding='utf-8') as s2:
        print(s1.read())
    # print(s1.read())
    # print(obj.read())

# -----------------------只读————————————————
# 1. mode='r' 只读
# 1.1 mode='rb' 只读 (以 bytes 类型)
# read()
#   相对路径

# r
a = open('相对路径',mode='r',encoding='utf-8')
a.read()
a.close()

# rb
a1 = open('相对路径',mode='rb')
a1.read()
a1.close()

# -----------------------读,写 常用————————————————
# mode='r+' 读,写
e = open('w',mode='r+',encoding='utf-8')
e.read()
e.write('这是先读,再写')
e.close()


# mode='r+b' 读,写 (以 bytes 类型)
f = open('w',mode='r+b')
f.read()
f.write('这是先读,再写'.encode('utf-8'))
f.close()


# -----------------------只写 常用————————————————

# 2. mode='w' 只写
# 2.1 mode="wb' 只写 (以 bytes 类型)
# write() encode()
# 先将原文件的内容删除,再写

# #2.
# b = open('w',mode='w',encoding='utf-8')
# b.write('这是添加的内容')
# print(b)

# 2.1
c = open('w',mode='wb')
c.write('这个方式可以自己设置编码'.encode('utf-8'))
c.close()

 


# -----------------------先清除,再写————————————————
# mode='w+'
g = open('w',mode='w+',encoding='utf-8')
g.write('w文件会清空,然后再将这段文字放进去')
f.close()


# mode='w+b'
g1 = open('w',mode='w+b')
g1.write('w文件会清空,然后再将这段文字放进去'.encode('utf-8'))
g1.close()

  


# -----------------------追加————————————————

# 3. mode='a' 追加'
# 3.1 mode='ab' 追加 (以 bytes 类型)

# a
d = open('w',mode='a',encoding='utf-8')
d.write('这是追加的内容')
d.close()

# ab
d = open('w',mode='ab')
d.write('这是追加的内容'.encode('utf-8'))
d.close()

# -----------------------先追加,再读————————————————
# mode='a+'
h = open('w',mode='a+',encoding='utf-8')
h.write('这是新添加的内容')
h.seek(0)
print(h.read())
h.close()

  

posted @ 2018-09-29 23:19  _Q  阅读(130)  评论(0)    收藏  举报