久久久精品2019免费观看_亚洲国产精品成人久久久_69国产成人综合久久精品91_国产精品久久精品视

Python 登入案例優(yōu)化

前面我們寫過一個登入案例,還記得嗎。如果不記得可以去翻翻我前面的文章。

在學(xué)完r模式之后,我們來把前面寫過的登入程序做進(jìn)一步優(yōu)化。

這個程序首先是后臺存著用戶的賬號密碼,然后用戶登入的時候輸入賬號密碼,輸對了就打印成功,輸錯了就打印賬號密碼錯誤。

我現(xiàn)在把原來的程序?qū)懸槐椤?/p>

首先是定義兩個變量存著用戶的賬號密碼。

username = '123'
password = '123'

然后用input來接受用戶輸入的賬號。

username = '123'
password = '123'
input_username = input('請輸入你的賬號>>>').strip()
input_password = input('請輸入你的密碼>>>').strip()

接著販毒案用戶輸入的用戶名,等于我們后臺存的用戶名。和用戶輸入的密碼等于我們后臺存的密碼。

if input_username == username and input_password == password:
    print('登入成功')
else:
    print('賬號或密碼錯誤')

現(xiàn)在這個程序就寫完了,下面是完整的代碼。

username = '123'
password = '123'
input_username = input('請輸入你的賬號>>>').strip()
input_password = input('請輸入你的密碼>>>').strip()
if input_username == username and input_password == password:
    print('登入成功')
else:
    print('賬號或密碼錯誤')

這是我們之前的寫法,但是這個程序是有問題的,我們后臺存的用戶的賬號密碼是寫成了變量的形式,變量是存在內(nèi)存里的。

如果我們只有一個用戶,后面也不開放注冊功能還好,畢竟這個變量是寫在我們代碼里面的。

也相當(dāng)于是存在了硬盤里,斷電時候數(shù)據(jù)也不會丟失。但是后面有新用戶想要注冊呢?

新用戶注冊的賬號密碼你存在哪里?存在內(nèi)存里?后面一百個用戶都存在內(nèi)存里?

這是不合理的,只要計算機(jī)斷電,用戶賬號密碼全部丟失。

現(xiàn)在我們學(xué)了文件,如果想要把數(shù)據(jù)永久保存下來,就可以建一個文件。

在這個date文件夾里面,新建user.txt文件。現(xiàn)在就可以在這個文件里面存賬號密碼了。

比如賬號是123,然后寫四個橫杠做為分隔符。后面就是這個賬號的密碼123。

應(yīng)為這個是文本文件,我們等下用t模式讀出來之后都是字符串,字符串我們就可以用sprlit拆分。

所以到時候就能拿到賬號和密碼了。

現(xiàn)在我把賬號密碼存到硬盤里面了,這樣的話即使后面計算機(jī)斷電,也不會導(dǎo)致我們村的賬號密碼丟失。

現(xiàn)在再回到前面的登入代碼。賬號密碼存到硬盤之后我們就不再用變量來存這個兩個賬號密碼了。

只需要在if判斷之前打開我們存賬號密碼的文件,把賬號密碼取出來就可以了。

input_username = input('請輸入你的賬號>>>').strip()
input_password = input('請輸入你的密碼>>>').strip()
with open(r'G:\PythonProject\學(xué)習(xí)\學(xué)習(xí)文件\date\user.txt', mode='rt', encoding='utf-8') as f:
    res = f.read()
if input_username == username and input_password == password:
    print('登入成功')
else:
    print('賬號或密碼錯誤')

我先把其他的代碼注釋掉,先打印with open代碼,看能不能拿到剛剛txt文件里的賬號密碼。

打印結(jié)果就是拿到了。

現(xiàn)在這個res是個字符串,剛剛我們說過可以用split拆分。然后解壓賦值 。

with open(r'G:\PythonProject\學(xué)習(xí)\學(xué)習(xí)文件\date\user.txt', mode='rt', encoding='utf-8') as f:
    res = f.read()
    print(res)
    username, password = res.strip().split('----')
    print(res)

到了這一步,整個程序就寫完了。

input_username = input('請輸入你的賬號>>>').strip()
input_password = input('請輸入你的密碼>>>').strip()
with open(r'G:\PythonProject\學(xué)習(xí)\學(xué)習(xí)文件\date\user.txt', mode='rt', encoding='utf-8') as f:
    res = f.read()
    username, password = res.strip().split('----')
if input_username == username and input_password == password:
    print('登入成功')
else:
    print('賬號或密碼錯誤')

然后我們再來打印一下整個程序。

未經(jīng)允許不得轉(zhuǎn)載:445IT之家 » Python 登入案例優(yōu)化

贊 (0) 打賞

相關(guān)推薦

    暫無內(nèi)容!

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

微信掃一掃打賞