文件操作

继续python基础内容

文件操作

1.找到文件路径
2.编码,文件是以什么编码方式存储的
3.以什么方式去处理(只读?只写?追加?读写?写读?)

处理方式:

只读 r
只写 w
bytes写 wb
bytes读 rb
追加 a
bytes追加 ab
读写 r+
写读 w+,a+(f.seek(0):光标到开头)

# 文件操作 文件是由什么编码方式储存的,就要用什么编码方式打开
#以只读方式打开文件
f = open('d:jcc.txt',mode='r',encoding='gbk')#打开文件
count = f.read()
print(count)
f.close()#关闭文件
#以bytes方式读
f = open('d:jcc.txt',mode='rb')#打开非文字文件,比如图片说明的
count = f.read()
print(count)
f.close()#关闭文件
# w:以写的方式打开文件,文件存在就直接写,不存在就创建
f = open('d:jcc.txt',mode='w',encoding='gbk')
f.write('蒋丞丞是个小仙女')
f.close()#关闭文件
# wb:以bytes写的方式打开文件
f = open('d:jcc.txt',mode='wb')
f.write('蒋丞丞是个小仙女!!!'.encode('utf-8'))
f.close()#关闭文件
# a:以追加的方式打开文件
f = open('d:jcc.txt',mode='a',encoding='utf-8')
f.write('蒋丞丞是个小仙女!!!')
f.close()#关闭文件
# 先读后写
f = open('d:jcc.txt',mode='r+',encoding='utf-8')
print(f.read())#光标到最后一个!
f.write('蒋丞丞是个小仙女!!!')#添加到最后,此时光标在最后,再读没有内容
f.close()#关闭文件
# 先写后读
f = open('d:jcc.txt',mode='r+',encoding='utf-8')
f.write('蒋丞丞真的是个小仙女!!!')#光标在开头从开头写
print(f.read())#从写完后光标所在位置往后读
f.close()#关闭文件

常用操作

f = open('d:jcc.txt',mode='r+',encoding='utf-8')
print(f.read(3))#读三个字符
f.seek(3)#光标向后移动三个字节
f.tell()#显示光标的位置,字节
f.readable()#是否可读
f.readlines()#一行一行的读,返回一个列表,每一行当成列表中的一个元素
f.readline()#一行一行读
f.truncate()#从源文件中截取一段
print(f.read())
f.close()
# 以with的方式打开文件,不用自己关闭,自动关闭,可以同时打开两个文件
with open('d:jcc.txt',mode='r+',encoding='utf-8') as f:
    pass

小练习

#小练习:
'''
用户注册,登录,三次机会
'''
name = input('name:')
passwd = input('password:')
with open('d:jcc.txt',mode='w+',encoding='utf-8') as f:
    f.write(name+','+passwd)
print('*'*10+'login'+'*'*10)
with open('d:jcc.txt',mode='r',encoding='utf-8') as f:
    list1 = f.read().split(',')
    fname = list1[0]
    fpasswd = list1[1]
i = 0
while i<3:
    loginname = input('name:')
    loginpasswd = input('password:')
    if loginname==fname and loginpasswd==fpasswd:
        print('登录成功!!!')
        break
    elif i==2:
        print('你被pass了')
    else:
        print('try again!')
    i +=1
原文地址:https://www.cnblogs.com/jiangchengcheng/p/9538099.html