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')  #重命名文件
相關文章
相關標籤/搜索