Python 报类型错误

2015-12-08 13:14:12 +08:00
 shyy228

小弟初学 python ,最新在练习做一个密码验证测试程序

源码如下:

!/usr/bin/python

coding:utf-8

username_f = open('username.txt')
login_f = open('login.txt')

for i in range(3):
username = raw_input('username:').strip()
password = raw_input('password:').strip()
if len(username) != 0 and len(password) != 0:
f = open(username_f)
for line in f.readlines():
if username == line.split()[0] and password == line.split()[1]:
#判断输入的用户名与密码是否在 line 这个列别当中
print "Welcome %s login my system " % username
break
break
else:
continue

运行过程中输入完用户密码就报错如下:

username:test
password:test
Traceback (most recent call last):
File "C:\Users\lenvovx201i\Desktop\python\zuoye1.py", line 10, in <module>
f = open(username_f)
TypeError: coercing to Unicode: need string or buffer, file found

请按任意键继续. . .


各位老手请帮忙看看是什么问题

2157 次点击
所在节点    Python
3 条回复
yongzhong
2015-12-08 13:20:32 +08:00
username_f = open('username.txt')已经打开一次了
而在下面又
f = open(username_f)
问题很明显呀....
shyy228
2015-12-08 13:30:54 +08:00
@yongzhong 谢谢,我在研究一下
RickyBoy
2015-12-08 17:17:05 +08:00
f = open(open('username.txt'))

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/241966

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX