J'ai une fonction nommée OpenAccount()
qui reprend les détails de l'utilisateur et l'ajoute à mon dictionnaire de base de données.Ajout à l'exécution d'un dictionnaire
J'ai un fichier de base de données (module) qui est importé dans mon fichier de fonction.
J'ai une fonction appelée AppendRecord (clé, ** dictvalues) qui ajoute des valeurs à mon fichier de base de données.
Cependant, je ne suis pas en mesure d'appeler la fonction et de saisir des valeurs au moment de l'exécution pour l'ajouter. Cela fonctionne très bien avec les valeurs codées en dur.J'affiche le code.Veuillez m'aider.
def AppendRecord(key, **dictvalues):
salesDept[key] = dict(dictvalues)
et l'appel à des valeurs codées en dur est ...
AppendRecord('Jill',Name='Jill', Acctype='Savings')
Maintenant, quand j'essaie de prendre toutes les valeurs ainsi que la clé de l'utilisateur, je ne suis pas en mesure d'appeler le function.I'm un débutant à Python donc s'il vous plaît pardonnez-moi des erreurs:
Modifié le code:
#/usr/bin/python
import os #This module is imported so as to use clear function in the while-loop
import DB #Imports the data from database DB.py
def AppendRecord(key, **dictvalues):
DB.Accounts[key] = dict(dictvalues)
def OpenAccount(): #Opens a new a/c and appends to the database data-base.
while True:
os.system("clear") #Clears the screen once the loop is re-invoked
#Parameters taken from the user at Run-time so as to make entries in the database and append them
print '\n','Choose an Account Type'
print '\n','\n1)Savings Account','\n2)Current Account'
choice = input('Enter an optin: ')
if choice == 1:
name = raw_input('\nEnter a name: ')
depo = input('\nEnter amount(Rs.): ')
key = raw_input('\nEnter an alphanumeric-id: ')
acc= raw_input('\nEnter the Account-Type: ')
AppendRecord(key,Name=name,Initial_deposit=depo,Acctype=acc)
EDIT 1: Les erreurs que je reçois sont.
File "/usr/lib/python2.5/shelve.py", line 124, in __setitem__
self.dict[key] = f.getvalue()
TypeError: 'int' object does not support item assignment
EDIT 2:
Voici le code source de fichiers de base de données DB.py.
#!/usr/bin/python
import shelve #Module:Shelve is imported to achieve persistence
Victor = {'Name':'Victor Hughes','Acctype':'Savings'}
Xavier = {'Name':'Xavier Bosco','Acctype':'Savings'}
Louis = {'Name':'Louis Philip','Acctype':'Current'}
Beverly = {'Name':'Beverly Dsilva','Acctype':'Current'}
Accounts = shelve.open('shelfile.shl') #Accounts = {}
Accounts['Louis']= Louis
Accounts['Beverly']= Beverly
Accounts['Xavier']= Xavier
Accounts['Victor']= Victor
Accounts.close()
Qu'est-ce qui ne va pas? Y at-il des messages d'erreur? En outre, vous avez une faute de frappe (je pense que vous auriez une erreur sinon) dans votre appel codé en dur. Vous devriez seulement citer les économies et non l'argument mot clé entier. – aaronasterling
aaronasterling - J'ai corrigé la faute de frappe. Merci.J'ai ajouté le message d'erreur, s'il vous plaît vérifier EDIT 1. – Pavitar
Nous avons besoin de la retraçage ou plus de détails sur "pas en mesure d'appeler la fonction" afin que nous puissions vous aider. :) –