私はこのコードを書いています:
#!/usr/bin/python
#ekadasi 2013
#sukhdev mohan
import datetime
import pickle
from time import strptime
def openfile(path, mode):
return open(path, mode)
def closefile(obj):
obj.close()
def retrivedata(pntr):
date = {}
linelst = []
wordlst = []
for line in pntr:
for word in line.split():
wordlst.append(word)
linelst.append(wordlst)
wordlst = []
return linelst
def dumpitall(obj, pntr):
pickle.dump(obj, pntr)
def loaditall(srcpntr):
return pickle.load(srcpntr)
date = datetime.date.today()
print "E K A D A S I 2 0 1 3 "
print "Today: %d - %d - %d" % (date.day, date.month, date.year)
dates = {}
filepntr = openfile("ekadasi.txt", "r")
nlist = retrivedata(filepntr)
closefile(filepntr)
for nl in nlist:
print nl
temp = nl[0] + "-" + str(strptime(nl[1], '%B').tm_mon)
print temp
value = str(nl[2] + nl[3])
dates = dict((temp, value))
print dates
私は4つの列を持つファイルを読んでいます:日月名(空白のある2列)、あなたが読むことができるように、それを読んでからリストのリストに入れます。私が目指しているのは、タイプの辞書を持つことです:日-月の数:名前ですが、辞書がファイルとリストのリストと同じ順序ではない理由がわかりません。例:最初の要素これは File: 08 January xyz asd List: [['08', 'January', 'xyz', 'asd'], ... ] key : 08-1 すべて期待どおりですが、辞書は他の要素として最初と最初が2番目に来ます...どうすれば修正できますか? このコードを書く良い方法や最適化する方法はありますか?
みんなありがとう