檔案操作,應用登陸系統,注釋標準,氣泡排序原理

2022-08-24 04:54:10 字數 4437 閱讀 1867

# 寫,末尾追加,指標到最後

# +表示同時可以讀寫,b表示已位元組的方式操作

f = open("h.txt","r+")# r+最前,a+最後

# w+,先清空,在寫之後,可以讀,x+和w+一樣,x+額外有如果檔案存在,報錯

f.seek(0)

# 指標回到初始

print(f.tell())#獲取指標位置

d = f.read(1)

print(d)

f.write("")#寫到記憶體,不關閉不寫入

f.flush()#強行執行,寫到硬碟。

f.truncate()#截斷資料,僅保留指標之前

f.readline()# 只讀取一行,for line in f :line也是一行一行讀,讀取所有行

f.close()

# with2.7之後支援同時開啟兩個檔案

with open("h.txt","r") as obj1 ,open("new_h.txt","w") as obj2:

for line in obj1:

# 實現大檔案(記憶體不足),一行一行寫到新檔案中,

obj2.write(line)

# 沒有關閉檔案之前,指標保持不動

def x():

# x代指函式,x()執行函式,函式可以做引數

pass

"""def login(username, password):

"""用於使用者名稱和密碼的驗證

:param username: 使用者名稱

:param password: 密碼

:return: true正確,false錯誤

"""with open("h.txt","r",encoding="utf-8") as f:

for line in f:

# strip預設無引數,移除空格,換行符。有引數則移除兩側的值

line = line.strip()

line_list = line.split("$")

if username == line_list[0] and password ==line_list[1]:

return true

return false

def register(username,password):

"""註冊

:param username:使用者名稱

:param password:密碼

:return:true成功

"""with open("h.txt","a",encoding="utf-8") as f:

f.write("\n"+username+"$"+password)

return true

def user_exist(username):

"""檢查使用者名稱是否存在

:param username: 使用者名稱

:return: true存在,false不存在

"""with open("h.txt","r",encoding="utf-8") as f:

# 無論以任何方式結束with語句,python都會自動關閉檔案.(執行__exit__,close)

for line in f:

# 字串操作是賦值,原字串不改變

line = line.strip()

line_list = line.split("$")

if username == line_list[0]:

return true

return false

def del_user(username):

"""刪除使用者

:param username: 使用者名稱

:return: true

"""with open("h.txt","r+",encoding="utf-8") as f1,open("new_h.txt","w+",encoding="utf-8") as f2:

for line in f1:

line = line.strip()

line_list = line.split("$")

if line_list[0] != username:

f2.write(line+"\n")

with open("h.txt","w+",encoding="utf-8") as f1,open("new_h.txt","r+",encoding="utf-8") as f2:

for line2 in f2:

f1.write(line2)

return true

def revise_pwd(username,newpwd):

"""修改密碼

:param username: 使用者名稱

:param newpwd: 新密碼

:return: true

"""with open("h.txt","r+",encoding="utf-8") as f1,open("new_h.txt","w+",encoding="utf-8") as f2:

for line in f1:

line = line.strip()

line_list = line.split("$")

if line_list[0] == username:

line = line.replace(line_list[1],newpwd)

f2.write(line+"\n")

else:

f2.write(line + "\n")

with open("h.txt","w+",encoding="utf-8") as f1,open("new_h.txt","r+",encoding="utf-8") as f2:

for line2 in f2:

f1.write(line2)

return true

def main():

print("歡迎登陸xx系統")

inp = input("請輸入(1:登陸;2:註冊;3:刪除使用者;4:修改密碼):")

if inp == "1":

user = input("使用者名稱:")

pwd = input("密碼:")

is_login = login(user,pwd)

if is_login :

print("登陸成功")

else:

print("登陸失敗")

elif inp == "2":

user = input("使用者名稱:")

is_exist = user_exist(user)

if is_exist:

print("使用者名稱存在")

else:

pwd = input("密碼:")

result = register(user,pwd)

if result:

print("註冊成功")

else:

print("註冊失敗")

elif inp == "3":

user = input("使用者名稱:")

pwd = input("密碼:")

is_login = login(user,pwd)

if is_login:

del_user(user)

print("刪除成功")

else:

print("賬號密碼錯誤")

elif inp == "4":

user = input("使用者名稱:")

pwd = input("密碼:")

is_login = login(user,pwd)

if is_login:

new_pwd = input("新密碼:")

is_revise = revise_pwd(user,new_pwd)

if is_revise:

print("修改成功")

else:

print("賬號密碼錯誤")

main()

# 氣泡排序

li = [11,22,33,44]

temp = li[1]

li[1] = li[2]

li[2] = temp

print(li)

li = [4,77,44,6,1]

for j in range(1,len(li)):

#len(li)=5

#j=1,2,3,4

for i in range(len(li)-j):

#i = 0,1,2,3

# current = li[i]

# next_values = li[i+1]

if li[i] > li[i + 1]:

temp = li[i]

li[i] = li[i + 1]

li[i + 1] = temp

print(li)

Ldap使用者無法登陸作業系統

我的機器的作業系統是redhat6.8,ip為 172.10.54.19 遠端有一台ldap服務,在這台機器上使用authconfig tui命令配置ldap客戶端,1 使用id命令,發現可以正常的找到ldap使用者 jiang 2 使用root使用者su jiang 也能正常切換到jiang使用者...

檔案操作 公升級使用者登陸介面

1 新增使用者和密碼到passwd檔案中 cat add user.py 將幾個使用者密碼寫進passwd檔案,使用者登陸認證的時候讀取此檔案 f open passwd w encoding utf 8 f.write zhangsan 123456 n f.write qiaofeng abc1...

禁止作業系統驗證登陸資料庫

作業系統認證方式登入 資料庫的含義是 只要是以oracle使用者登入的使用者都可以使用 sqlplus as sysdba 方式連線到資料庫中。出於安全的考慮,我們可能需要禁用這個特性。當然,如果以作業系統認證方式無法順利登入,也可以通過在這個方法來排查故障問題。1.以作業系統認證方式登入資料庫的方...