前面我们把一个用户的账号密码存成了文件,现在我们来看多个账号密码怎么处理。
首先我们在user.txt文件后面敲回车。
接着写第二个账号密码,第三个账号密码,第四个......。
现在每一行都是一个账号密码,我们前面说过,换行本身也是一个字符,就是 ,虽然我们看不到,但是这个换行符确实存在的。
也就是这个文件本身是存成买内个结尾都有一个 。
现在我们是时候把这四个账号密码都取出来。
with open(r'G:PythonProject学习学习文件dateuser.txt', mode='rt', encoding='utf-8') as f:
对于这种我们需要取每一行内容的情况,哦们可以直接对这个f进行循环取值,循环我们学过两种,一种是for循环,还有while循环。
取值操作相对比较方便的就是for循环。
我们可以这样写。
with open(r'G:PythonProject学习学习文件dateuser.txt', mode='rt', encoding='utf-8') as f:
for line in f:
print(line)
这样就把每一行都读出来了。
我们看打印结果,每一行后面都多了一个换行的效果,这其实有两个换行符。
我们读的这个文件每一行后面都自己带了一个换行符,而我们用的print它默认也会在后面加一个换行符。
我们前面讲九九乘法表的时候也说过这个情况,所以这里就出现了这种两次换行情况。
54、零基础Python到全栈-for循环写九九乘法表1
55、零基础Python到全栈-for循环写九九乘法表2
55、零基础Python到全栈-for循环写九九乘法表2
如果我把print默认的换行符改掉,再来运行。
with open(r'G:PythonProject学习学习文件dateuser.txt', mode='rt', encoding='utf-8') as f:
for line in f:
print(line, end='')
这样打印出来的结果就没有多的那个换行符了。
现在我们拿到了每一行的数据了,但是你仔细想,我们是真的拿到了每一行的数据了吗?
前面说在文件里面,之所以有换行的效果,是因为每一行的末尾都有一个换行符,就是 。
所以说我们拿到的并不是纯粹的数据,所以我们在用split拆分拿到账号密码之前,要把这个 去掉。
不然这些密码都不对了。
所以在拆分之前,我们要进行一步操作,
with open(r'G:PythonProject学习学习文件dateuser.txt', mode='rt', encoding='utf-8') as f:
for line in f:
line.strip('
')
这样写就可以取出字符串两端的 。
这个strip我们前面是讲过的,当时我们讲的是默认去除字符串两端的空格,前期是这样的说法并不太准确,准确的说是是去除字符串两端的空白字符。
63、零基础Python到全栈-字符串详解之strip
64、零基础Python到全栈-字符串详解之strip应用
空白字符就是你看不见的字符,所以说我们在括号这里可以不给它传参数。
line.strip()
现在这个line.strip()的返回值是一个被我们去掉 的字符串对吧,既然他是字符串,就可以直接在后面点split,然后按照四个横杠拆分。
结果就是一个列表。
l= line.strip().split('----')
这个列表里面有两个值,直接来打印一下。
with open(r'G:PythonProject学习学习文件dateuser.txt', mode='rt', encoding='utf-8') as f:
for line in f:
l = line.strip().split('----')
print(l)
这样账号密码就拿到了。
但是你看我把这个stlip去掉,再来看结果。
with open(r'G:PythonProject学习学习文件dateuser.txt', mode='rt', encoding='utf-8') as f:
for line in f:
# print(line, end='')
l = line.split('----')
print(l)
打印出来每个密码后面都有 。
所以.strip()一定不要忘记,先strip再split。
页面更新:2024-04-16
本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828
© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号