前面我們把一個(gè)用戶的賬號(hào)密碼存成了文件,現(xiàn)在我們來(lái)看多個(gè)賬號(hào)密碼怎么處理。
首先我們?cè)趗ser.txt文件后面敲回車。
接著寫(xiě)第二個(gè)賬號(hào)密碼,第三個(gè)賬號(hào)密碼,第四個(gè)……。
現(xiàn)在每一行都是一個(gè)賬號(hào)密碼,我們前面說(shuō)過(guò),換行本身也是一個(gè)字符,就是\n,雖然我們看不到,但是這個(gè)換行符確實(shí)存在的。
也就是這個(gè)文件本身是存成買內(nèi)個(gè)結(jié)尾都有一個(gè)\n。
現(xiàn)在我們是時(shí)候把這四個(gè)賬號(hào)密碼都取出來(lái)。
with open(r'G:\PythonProject\學(xué)習(xí)\學(xué)習(xí)文件\date\user.txt', mode='rt', encoding='utf-8') as f:
對(duì)于這種我們需要取每一行內(nèi)容的情況,哦們可以直接對(duì)這個(gè)f進(jìn)行循環(huán)取值,循環(huán)我們學(xué)過(guò)兩種,一種是for循環(huán),還有while循環(huán)。
取值操作相對(duì)比較方便的就是for循環(huán)。
我們可以這樣寫(xiě)。
with open(r'G:\PythonProject\學(xué)習(xí)\學(xué)習(xí)文件\date\user.txt', mode='rt', encoding='utf-8') as f:
for line in f:
print(line)
這樣就把每一行都讀出來(lái)了。
我們看打印結(jié)果,每一行后面都多了一個(gè)換行的效果,這其實(shí)有兩個(gè)換行符。
我們讀的這個(gè)文件每一行后面都自己帶了一個(gè)換行符,而我們用的print它默認(rèn)也會(huì)在后面加一個(gè)換行符。
我們前面講九九乘法表的時(shí)候也說(shuō)過(guò)這個(gè)情況,所以這里就出現(xiàn)了這種兩次換行情況。
54、Python 用for循環(huán)寫(xiě)九九乘法表1
55、Python 用for循環(huán)寫(xiě)九九乘法表2
如果我把print默認(rèn)的換行符改掉,再來(lái)運(yùn)行。
with open(r'G:\PythonProject\學(xué)習(xí)\學(xué)習(xí)文件\date\user.txt', mode='rt', encoding='utf-8') as f:
for line in f:
print(line, end='')
這樣打印出來(lái)的結(jié)果就沒(méi)有多的那個(gè)換行符了。
現(xiàn)在我們拿到了每一行的數(shù)據(jù)了,但是你仔細(xì)想,我們是真的拿到了每一行的數(shù)據(jù)了嗎?
前面說(shuō)在文件里面,之所以有換行的效果,是因?yàn)槊恳恍械哪┪捕加幸粋€(gè)換行符,就是\n。
所以說(shuō)我們拿到的并不是純粹的數(shù)據(jù),所以我們?cè)谟胹plit拆分拿到賬號(hào)密碼之前,要把這個(gè)\n去掉。
不然這些密碼都不對(duì)了。
所以在拆分之前,我們要進(jìn)行一步操作,
with open(r'G:\PythonProject\學(xué)習(xí)\學(xué)習(xí)文件\date\user.txt', mode='rt', encoding='utf-8') as f:
for line in f:
line.strip('\n')
這樣寫(xiě)就可以取出字符串兩端的\n。
這個(gè)strip我們前面是講過(guò)的,當(dāng)時(shí)我們講的是默認(rèn)去除字符串兩端的空格,前期是這樣的說(shuō)法并不太準(zhǔn)確,準(zhǔn)確的說(shuō)是是去除字符串兩端的空白字符。
64、Python 字符符串詳解之strip函數(shù)應(yīng)用
空白字符就是你看不見(jiàn)的字符,所以說(shuō)我們?cè)诶ㄌ?hào)這里可以不給它傳參數(shù)。
line.strip()
現(xiàn)在這個(gè)line.strip()的返回值是一個(gè)被我們?nèi)サ鬨n的字符串對(duì)吧,既然他是字符串,就可以直接在后面點(diǎn)split,然后按照四個(gè)橫杠拆分。
結(jié)果就是一個(gè)列表。
l= line.strip().split('----')
這個(gè)列表里面有兩個(gè)值,直接來(lái)打印一下。
with open(r'G:\PythonProject\學(xué)習(xí)\學(xué)習(xí)文件\date\user.txt', mode='rt', encoding='utf-8') as f:
for line in f:
l = line.strip().split('----')
print(l)
這樣賬號(hào)密碼就拿到了。
但是你看我把這個(gè)stlip去掉,再來(lái)看結(jié)果。
with open(r'G:\PythonProject\學(xué)習(xí)\學(xué)習(xí)文件\date\user.txt', mode='rt', encoding='utf-8') as f:
for line in f:
# print(line, end='')
l = line.split('----')
print(l)
打印出來(lái)每個(gè)密碼后面都有\(zhòng)n。
所以.strip()一定不要忘記,先strip再split。
未經(jīng)允許不得轉(zhuǎn)載:445IT之家 » Python 多賬號(hào)處理