Der Versuch, ein kleines Skript zu schreiben, um mein Leben einfacher zu machen, wie ich mit dem Lagerhaus verbinden. Ich möchte etwas erstellen, mit dem ich eine einfache CSV-Datei mit all den verschiedenen Stilen, Größen, Farben und UPC-Codes der Produkte exportieren kann, die ich erfüllen muss. Hier ist ein Teil des Codes, der mit immer den UPC-Codes aus dem Wörterbuch beschäftigt I erstellt:String-Indizes müssen Ganzzahlen sein, nicht str - Python-Skript
UPC = {'True Premium Flat': {'White': {'6':'994000000446','7':'994000000453','8':'994000000460','9':'994000000477','10':'994000000484','11':'994000000491','12':'994000000507'},
'Silver': {'6':'994000000514','7':'994000000521','8':'994000000538','9':'994000000545','10':'994000000552','11':'994000000569','12':'994000000576'},
'Champagne': {'6':'994000000309','7':'994000000316','8':'994000000323','9':'994000000330','10':'994000000347','11':'994000000354','12':'994000000361'},
'Black': {'6':'994000000378','7':'994000000385','8':'994000000392','9':'994000000408','10':'994000000415','11':'994000000422','12':'994000000439'}
},
'Classic Flat': {'Black': {'Small':'994000000279','Medium':'994000000286','Large':'994000000293'},
'Champagne': {'Small':'994000000248','Medium':'994000000255','Large':'994000000262'},
}
}
def UPCget(St, C, Si):
return UPC[St][C][Si]
LineNum = raw_input('How many different items are returning? ')
Style = raw_input('Style? C or P: ')
if Style == 'C' or Style == 'c':
Style = 'Classic Flat'
if Style == 'P' or Style == 'p':
Style = 'True Premium Flat'
LineNum = int(LineNum)
for num in range(LineNum):
item = num + 1
print('\nItem number ' + str(item))
Color = raw_input('Color: ')
Size = raw_input('Size: ')
UPC = UPCget(Style, Color, Size)
print Color + ', Size ' + Size + ' has UPC code ' + UPC
f.close()
Aber ich halte einen immer ‚String-Indizes muß ganze Zahlen sein, nicht str‘ Fehler nur, wenn mein LineNum größer als 1 sind und nur beim zweiten Vorkommen. Ich habe mir den Debugger angesehen, kann aber keinen Unterschied zwischen dem ersten Aufruf von UPCget beim zweiten Mal finden.
Würde mich über Hilfe freuen!
EDIT:
vergessen Trackbacks posten :)
How many different items are returning? 2
Style? C or P: P
Item number 1
Color: Silver
Size: 7
Silver, Size 7 has UPC code 994000000521
Item number 2
Color: Champagne
Size: 7
Traceback (most recent call last):
File "/Users/klhuizinga/Documents/Talaria/ASN/UPCget.py", line 26, in <module>
UPC = UPCget(Style, Color, Size)
File "/Users/klhuizinga/Documents/Talaria/ASN/UPCget.py", line 12, in UPCget
return UPC[St][C][Si]
TypeError: string indices must be integers, not str
Bitte geben Sie an, für welche Zeile der Fehler gemeldet wird, und die vollständige Rückverfolgung. Die Rückkehranweisung ist ein offensichtlicher Kandidat. – cdarke
Was ist der vollständige Traceback? –
Sie könnten erwägen, keine globale Variable in Ihrer 'UPCget'-Funktion zu verwenden und das UPC-Dictionary als Argument zu übergeben. –