0
車の登録用のコードがあります。私はキーとして車の登録番号と値として残りの情報を持つ辞書を作成しました。私は登録番号を入力して各登録の詳細(値)を取得しようとしています。 idが辞書に入っていても、辞書には見つかりませんでした。辞書のキーから値を取得する方法
global variable
data_dict = {}
def createNameDict(filename):
path = "C:\Users\user\Desktop"
basename = "ParkingData_Part2.txt"
filename = path + "\\" + basename
file = open(filename)
contents = file.read()
print contents,"\n"
data_list = [lines.split(",",1) for lines in contents.split("\n")]
#data_list.sort()
#print data_list
#dict_list = []
for line in data_list:
keys = line[0]
values = line[1]
data_dict[keys] = values
print data_dict,"\n"
print data_dict.keys(),"\n"
print data_dict.values(),"\n"
print data_list
def detailForRegistrationNumber(regNumber):
regNumber == "keys"
if regNumber in data_dict:
print data_dict[regNumber]
else:
print regNumber, "Not in dictionary"
私は取得していますエラーメッセージは次のとおりです。
======= Loading Progam =======
>>> detailForRegistrationNumber('EDF768')
EDF768 Not in dictionary
しかし、辞書には、上記の登録番号を持っています
{'HUY768': ' Wilbur Matty, 8912, Creche_Parking', 'GH7682': ' Clara Hill, 7689, AgHort_Parking', 'GEF123': ' Jill Black, 3456, Creche_Parking', 'WER546': ' Olga Grey, 9898, Creche_Parking', 'TY5678': ' Jane Miller, 8987, AgHort_Parking', 'ABC234': ' Fred Greenside, 2345, AgHort_Parking', 'KLOI98': ' Martha Miller, 4563, Vet_Parking', **'EDF768'**: ' Bill Meyer, 2456, Vet_Parking', 'JU9807': ' Jacky Blair, 7867, Vet_Parking', 'DF7800': ' Jacko Frizzle, 4532, Creche_Parking', 'ADF645': ' Cloe Freckle, 6789, Vet_Parking'}
パスにバックスラッシュを使用している場合(protip:do not、windowsでもスラッシュがサポートされています)、エスケープするか、* raw文字列*を使用する必要があります: 'r'C:\ whatever \ path'' – ThiefMaster
あなたの主な方法はどこですか? createNameDictはどこで呼び出されますか?上のコードスニペットから、私はそれが呼び出されるか、あなたがそれを呼び出すのを忘れたかどうかはわかりません。呼び出すのを忘れてしまった場合は、引数を指定してdetailForRegistrationNumberを呼び出すと、それが辞書にないことが示されます。 – Neal
あなたは、そのテキストの入力方法に関するあなたの他の投稿の助言に従っているようには思われません:http://stackoverflow.com/questions/10545544/converting-lists-to-dictionaries/10545736#10545736 – hexparrot