私はファイルから情報を収集して後で出力するプログラムを書いていますが、今の私の問題は与えられた情報をテストすることです。ユーザーが入力したコードがファイルの日付と同じであるかどうかをテストしたいと思います。使用されるファイルには、YYYY、MM、DDの形式の日付と売上が含まれています。forループを使用して、ファイルの各行をユーザー入力に対してテストしようとしていますが、datetime.dateが反復可能ではないというエラーが発生します。解決策/代替案はありますか?これがコードです、
from datetime import date
def DateTest(Date, Position):
firstTry = True
validSyntax = False
if validSyntax == False:
if firstTry == True:
try:
Date = Date.strip().split(',')
Year = int(Date[0])
Month = int(Date[1])
Day = int(Date[2])
Date = date(Year, Month, Day)
except:
print "That is invalid input."
firstTry = False
else:
validSyntax = True
elif firstTry == False:
Date = raw_input("Please input the desired %s date in the form YYYY,MM,DD: " % Position)
try :
Date = startDate.strip().split(',')
Year = int(Date[0])
Month = int(Date[1])
Day = int(Date[2])
Date = date(Year, Month, Day)
except:
print "That is invalid input."
else:
validSyntax = True
print" ok got it"
if validSyntax == True:
for line in Date:
line = line.strip().split(',')
yearTest = int(line[0])
monthTest = int(line[1])
dayTest = int(line[2])
dateTest = date(yearTest, monthTest, dayTest)
if dateTest == Date:
"print debug"
startDate = raw_input("Please input the desired start date: ")
start = "start"
Response = DateTest(startDate, start)
ご覧のとおり、有効な入力をテストしてから、ファイルにある日付をテストします。これにより、日時が反復可能ではないことがわかります。