任何帮助将不胜感激
#python3.5
print("WELCOME TO THE CLEVERBUY SYSTEM!")
productArray= []
productsFile = open("products.txt","r")
print (productsFile.split(","))
login = False
while login == False:
FName = input ("ENTER FIRST NAME - ")
custID = input ("ENTER CUSTOMER ID - ")
email = input ("ENTER E-MAIL - ")
if custID in productArray:
if "@" not in email:
print ("incorrect e-mail")
else:
if "." not in email:
print ("incorrect e-mail")
else:
if FName.isalpha():
print ("Welcome")
login = True
else:
print("incorrect first name")
else:
print("customer ID not found in system")
答案 0 :(得分:0)
您尚未读取文件以返回具有文件对象的字符串。
要读取文件的内容,请调用f.read(size),它读取一些数据并将其作为字符串(在文本模式下)或字节对象(在二进制模式下)返回。 size是可选的数字参数。当省略大小或为负时,将读取并返回文件的全部内容;如果文件的大小是机器内存的两倍,那么这就是你的问题。否则,最多读取并返回大小字节。如果已到达文件末尾,f.read()将返回一个空字符串('')。
请参阅this page
你只需阅读它就可以了:
file = open("products.txt","r")
productsFile = file.read()
print (productsFile.split(","))
不要忘记关闭文件:
file.close()
或更好的练习:
with open("products.txt","r") as file:
productsFile = file.read()
这将自动为您关闭文件。
'_io.TextIOWrapper'
是打开文件时返回的内容(但未读/写)。您可以使用交互式解释器对此进行测试:
>>>open('file.txt', 'r')
<_io.TextIOWrapper name='file.txt' mode='r' encoding='cp1252'>
您可以从中确定三件事:
open()
的模式。以下是阅读文件的tutorial from the documentation。