python14期2017.7.11

今日主要内容

    文件操作:

        1. r(读取文件)处理文本

        2. w(写入之前会去掉原来的内容)处理文本

        3. a(在原来的基础上进行追加内容)处理文本

        4. r+(再r基础上进行了扩展,不管你前面写了几个,后面去写,是在末尾),默认情况下光标在文件的开头,必须先读后写,

            读写模式.

            需要移动光标进行反复读写

        5. w+(在写的基础上进行了扩展,平时不会用)

        6. a+

        7. b bytes 读写操作的是字节. ab ,wb ,rb 都用在非文本上

        8. seek() 移动光标到xx位置

            开头: seek(0), 末尾: seek(0,2)

        9. 文件修改

            创建新文件. 把修改后的内容写入新文件. 删除老文件. 重命名新文件

            import os

            os.remove("")删除文件

            os.rename("源文件", "新文件名") 重命名文件

        for line in f:

            line 一行数据

        with open("文件名") as f:

            不需要关闭文件句柄

路径有两种:
#   1. 相对路径, 相对于你当前程序所在的文件夹.(必须掌握)
#    ../返回上一层目录
#    相对的是当前程序所在的文件夹
#   2.绝对路径. 1.从磁盘根目录寻找. 2.互联网上的一个绝对路径
# f = open("file/wuse", mode="r", encoding="utf-8")
# s = f.read()
# f.close()   # 关闭句柄
# print(s)
# f = open("吃的", mode="r", encoding="utf-8")
# for line in f:  # 每次读取一行. 赋值给前面的line变量
#     print(line)
# f.close()

 f = open("小护士模特", mode="w", encoding="utf-8")   # 写入之前会情掉原来的内容
f.write("杜十娘")
f.flush()
f.close()

f = open("小护士模特", mode="a", encoding="utf-8") # 在原来的基础上进行追加内容.
f.write("小龙女")
f.flush()
f.close()

f = open("小护士模特",mode="rb") # 读取的内容直接就是字节
bs = f.read()
print(bs.decode("utf-8"))   # 需要解码
f.close() 

f = open("小护士模特",mode="wb") # 读取的内容直接就是字节
f.write("你不好".encode("utf-8"))
f.close()

# w, r, a ===  wb, rb, ab   b: 处理的是非文本

# f = open("老师点名", mode="r+", encoding="utf-8") # r+模式, 默认情况下光标在文件的开头, 必须先读, 后写
# f.write("周润发")
# s = f.read()
# f.flush()
# f.close()
# print(s)


# f = open("精品", mode="r+", encoding="utf-8")
# s = f.read(3)
# # 不管你前面读了几个. 后面去写都是在末尾
# # f.write("哈哈")   # 1.在没有任何操作之前进行写. 在开头写  2. 如果读取了一些内容. 再写, 写入的是最后
#
# # print(ss)


f = open("精品", mode="r+", encoding="utf-8")
# f.read(3)
# f.seek(3)   # 移动到xx位置
# 移动到开头: f.seek(0)  开头
# 移动到末尾: f.seek(0, 2)   末尾 第二个参数有三个值. 0: 再开头,  1: 在当前, 2: 末尾

#超人的都是精品.abcdefg潘长江是精品巴拉巴拉小魔仙哈哈
# f.seek(6)   # 移动6个字节. 2个字
# s = f.read(3)   # 读取3个字
# print(s)
# f.seek(0)
# ss = f.read(3)
# print(ss)

# s = f.read()
# f.seek(0)
# ss= f.read()
# print(s)
# print(ss)

 

 f = open("亵渎", mode="w+", encoding="utf-8")  # w 操作.会清空原来的内容.  w+是不用的.

f.write("今天天气")

f.seek(0)
s = f.read()
print(s)
f.flush()
f.close()
 
 import os

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)
    for line in f1:
        s = line.replace("菜", "肉")
        f2.write(s)

os.remove("吃的") # 删除文件
os.rename("吃的_副本", "吃的")    # 重命名文件
posted @ 2018-07-11 21:57  德玛(盖伦))  阅读(122)  评论(0编辑  收藏  举报