python note 08 文件操做

一、相对路径与绝对路径比较app

#绝对路径编码

f = open('d:\pzw.txt',mode='r',encoding='UTF-8')
content = f.read()
print(content)
f.close()

#相对路径spa

f = open('pzw',mode='r',encoding='utf-8')
content = f.read()
print(content)
f.close()

 

二、code

#对于r就是只读orm

f = open('pzw',mode='rb',)
content = f.read()
print(content)
f.close()

#对于w没有文件会建立文件,有文件会将源文件的内容所有清除再写blog

f = open('log',mode='w',encoding='utf-8')
f.write('123456')
f.close()

 

f = open('log',mode='wb')
f.write('123456'.encode('utf-8'))
f.close()

 

f = open('log',mode='w+',encoding='utf-8')
f.write('aaa')
print(f.read())
f.close()
#不显示任何内容

 

#对于a为追加功能ip

f = open('log',mode='a',encoding='utf-8')
f.write('666')
f.close()

 

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

 

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

 

三、seek用来调整光标位置,utf-8编码中文占三个字节utf-8

f.seek(3)  # 是按照字节定光标的位置

四、tell用来告诉你光标的位置rem

f.tell() 告诉你光标的位置

五、其余input

f.readable()  # 是否可读
line = f.readline()  # 一行一行的读
line = f.readlines()  # 每一行当成列表中的一个元素,添加到list中

六、注册,登陆

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

 七、修改文件

# 修改文件
with open('file',encoding='utf-8') as f,open('file.bak','w',encoding='utf-8') as f2:
    for line in f:
        if '张三' in line:  #班主任:张三
            line = line.replace('张三','李四')
        #写文件
        f2.write(line) 

import os
os.remove('file') #删除文件
os.rename('file.bak','file')  #重命名文件
相关文章
相关标签/搜索