1. 程式人生 > 其它 >Nginx負載均衡反向代理伺服器

Nginx負載均衡反向代理伺服器

一、檔案操作的基本流程

1.基本流程

1)開啟檔案,由應用程式向作業系統發起呼叫open(),作業系統開啟該檔案,對應一塊硬碟空間,並返回一個檔案物件賦值給一個變數f
  f=open("a.txt",mode="rt",encodind="utf-8")
 (2)呼叫檔案物件下的讀寫方法,會被作業系統轉換為讀/寫硬碟的操作
   date=f.read()
 (3)向作業系統發起關閉檔案的請求,回收系統資源
   f.close()

2.with

(1) 在執行完子程式碼塊後,with會自動執行f.close()

with open('db.txt',mode='rt',encoding='
utf-8') as f: print(f.read()) print('='*50) print(f.read())

(2)可用用with同時開啟多個檔案,用逗號分隔開即可

 with open('db.txt',mode='rt',encoding='utf-8') as f,\
         open('b.txt',mode='rt') as f1:
     print(f.read())
     print('='*50)
     print(f.read())

二、檔案的操作模式

1.控制檔案讀寫內容的模式

(1) t模式的使用:(預設)

1. 讀寫檔案都是以字串為單位的

2. 只能針對文字檔案

3. 必須指定encoding引數

(2) b模式的使用;

1.讀寫檔案都是以bytes/二進位制為單位的

2. 可以針對所有檔案

3. 一定不能指定encoding引數

2.控制檔案讀寫操作的模式

(1)r模式的使用:只讀模式

檔案不存在則報錯,如果檔案存在則指標置於檔案開頭
with open("a.txt",mode="rt",encoding="utf-8") as f:
    print(f.read())

小練習:

實現使用者認證功能
inp_user = input("請輸入您的名字").strip()
inp_pwd = input("
請輸入您的密碼").strip() f=open(r"a.txt",mode="rt",encoding="utf-8") for line in f: user,pwd=line.strip("\n").split(":") if inp_user == user and inp_pwd == pwd: print("登入成功") break else: print("登入失敗") f.close()

(2)w模式的使用:只寫模式

在檔案不存在時建立空文件,檔案存在會清空檔案,檔案指標會跑到檔案的開頭
with open("b.txt",mode="wt",encoding="utf-8") as f:
     f.write('你好\n')
     f.write('我好\n') 
     f.write('大家好\n')
     f.write('111\n222\n333\n')
強調:
 1 在檔案不關閉的情況下,連續的寫入,後寫的內容一定跟在前寫內容的後面
 2 如果重新以w模式開啟檔案,則會清空檔案內容

(3)a模式的使用:只寫(追加)

a只追加寫模式: 在檔案不存在時會建立空文件,檔案存在會將檔案指標直接移動到檔案末尾
with open(“c.txt",mode="at",encoding="utf-8") as f:
    f.write("444\n")
    f.write("555\n")
強調 w 模式與 a 模式的異同:
 1 相同點:在開啟的檔案不關閉的情況下,連續的寫入,新寫的內容總會跟在前寫的內容之後
 2 不同點:以 a 模式重新開啟檔案,不會清空原檔案內容,會將檔案指標直接移動到檔案末尾,新寫的內容永遠寫在最後
案例:實現註冊功能
name = input("username===>").strip()
pwd = input("password===>").strip()
with open("a.txt",mode="a",encoding="utf-8") as f:
info=("%s:%s\n"%(name,pwd))
f.write(info)