python基础(十四)--文件操作

1,文件操作。
    模特主妇护士老师.txt
    1,文件路径:d:\模特主妇护士老师.txt
    2,编码方式:utf-8 gbk 。。。。
    3,操作方式:只读,只写,追加,读写,写读.....
        以什么编码方式储存的文件,就以什么编码打开进行操作。

    只读:r
          rb
        f = open('模特主妇护士班主任',mode='r',encoding='utf-8')
        content = f.read()
        print(content,type(content))
        f.close()
        # f = open('模特主妇护士班主任',mode='rb',)
        # content = f.read()
        # print(content)
        # f.close()
        r+ 读写
        r+b 读写(以bytes类型)
        # f = open('log',mode='r+',encoding='utf-8')
        # print(f.read())
        # f.write('大猛,小孟')
        # f.close()
        f = open('log',mode='r+b')
        print(f.read())
        f.write('大猛,小孟'.encode('utf-8'))
        f.close()
    只写:w
          wb
    # 先将源文件的内容全部清除,在写。
    # f = open('log',mode='w',encoding='utf-8')
    # f.write('附近看到类似纠纷')
    # f.close()
    f = open('log',mode='wb')
    f.write('附近看到类似纠纷'.encode('utf-8'))
    f.close()
    w+
    # f = open('log',mode='w+',encoding='utf-8')
    # f.write('aaa')
    # f.seek(0)
    # print(f.read())
    # f.close()
    w+b
    .......

    追加
        # f = open('log',mode='a',encoding='utf-8')
        # f.write('佳琪')
        # f.close()
        # f = open('log',mode='ab')
        # f.write('佳琪'.encode('utf-8'))
        # f.close()
 
 
#绝对路径
# f = open('d:\模特主妇护士班主任.txt',mode='r',encoding='UTF-8')
# content = f.read()
# print(content)
# f.close()
#bytes ---->str
# f = open('模特主妇护士班主任',mode='r',encoding='utf-8')
# content = f.read()
# f.write('fjsdlk')
# f.close()
# f = open('模特主妇护士班主任',mode='rb',)
# content = f.read()
# print(content)
# f.close()
# f = open('log',mode='r+',encoding='utf-8')
# print(f.read())
# f.close()
# f = open('log',mode='r+b')
# print(f.read())
# f.write('大猛,小孟'.encode('utf-8'))
# f.close()
 
#对于w:没有此文件就会创建文件
# f = open('log',mode='w',encoding='utf-8')
# f.write('骑兵步兵')
# f.close()
# 先将源文件的内容全部清除,在写。
# f = open('log',mode='w',encoding='utf-8')
# f.write('附近看到类似纠纷')
# f.close()

# f = open('log',mode='w+',encoding='utf-8')
# f.write('aaa')
# f.seek(0)
# print(f.read())
# f.close()

# f = open('log',mode='wb')
# f.write('附近看到类似纠纷'.encode('utf-8'))
# f.close()
# f = open('log',mode='a',encoding='utf-8')
# f.write('佳琪')
# f.close()
#
# f = open('log',mode='a',encoding='utf-8')
# f.write('佳琪')
# f.close()
 
# f = open('log',mode='a+',encoding='utf-8')
# f.write('佳琪')
# f.seek(0)
# print(f.read())
# f.close()

# f = open('log',mode='ab')
# f.write('佳琪'.encode('utf-8'))
# f.close()

#功能详解
# obj = open('log',mode='r+',encoding='utf-8')
# content = f.read(3)  # 读出来的都是字符
# f.seek(3)  # 是按照字节定光标的位置
# f.tell() 告诉你光标的位置
# print(f.tell())
# content = f.read()
# print(content)
# f.tell()
# f.readable()  # 是否刻度
# line = f.readline()  # 一行一行的读
# line = f.readlines()  # 每一行当成列表中的一个元素,添加到list中
# f.truncate(4)
# for line in f:
#     print(line)
# f.close()
 
 
 
# f = open('log',mode='a+',encoding='utf-8')
# f.write('佳琪')
# count = f.tell()
# f.seek(count-9)
# print(f.read(2))
# f.close()
# with open('log',mode='r+',encoding='utf-8') as f,\
#         open('log',mode='w+',encoding='utf-8') as f1:
 
username = input('请输入你要注册的用户名:')
password = input('请输入你要注册的密码:')
with open('list_of_info',mode='w',encoding='utf-8') as f:
    f.write('{}\n{}'.format(username,password))
print('恭喜您,注册成功')
lis = []
i = 0
while i < 3:
    usn = input('请输入你的用户名:')
    pwd = input('请输入你的密码:')
    with open('list_of_info',mode='r+',encoding='utf-8') as f1:
        for line in f1:
            lis.append(line)
    if usn == lis[0].strip() and pwd == lis[1].strip():
        print('登录成功')
        break
    else:print('账号和密码错误')
    i+=1
#str --->byte  encode 编码
# s = '二哥'
# b = s.encode('utf-8')
# print(b)
# #byte --->str decode 解码
# s1 = b.decode('utf-8')
# print(s1)

# s = 'abf'
# b = s.encode('utf-8')
# print(b)
# #byte --->str decode 解码
# s1 = b.decode('gbk')
# print(s1)
 
 
 
复习内容
# 文件处理
    # 打开文件
        #open('路径','打开方式','指定编码方式')
        # 打开方式 r w a r+ w+ a+ b
            #r+ 打开文件直接写 和读完再写
        # 编码方式 —— utf-8
    # 操作文件
        # 读
            # read 一次性读
            # readlines 一次性读
            # readline 一行一行读
                #不知道在哪儿结束
                #视频 图片 rb bytes 按照字节读
            # for循环 —— 最好!!!
        # 写
            # write
        # 光标 —— 文件指针
            #seek _ 指定光标移动到某个位置
            #tell _ 获取光标当前的位置
            #truncate _ 截取文件
    # 关闭文件
        #close
# 修改文件
with open('小护士班主任',encoding='utf-8') as f,open('小护士班主任.bak','w',encoding='utf-8') as f2:
    for line in f:
        if '星儿' in line:  #班主任:星儿
            line = line.replace('星儿','啊娇')
        #写文件
        f2.write(line) #小护士:金老板
import os
os.remove('小护士班主任') #删除文件
os.rename('小护士班主任.bak','小护士班主任')  #重命名文件
 

猜你喜欢

转载自www.cnblogs.com/qingmuzi/p/12652412.html