def clear(file_path: str): """ Clears the file at the specified file path. :param file_path: A path to a file :return: None """
def delete_last_line(file_path: str) -> str: """ Removes the last line in the file at the specified file path. Then it saves the new value with the last line removed to the file. Finally it returns the deleted last line. If the file has nothing in it an empty string ("") is returned. :param file_path: A path to file :return: The text in the file with the last line removed """
def swap_value(file_path: str, key: str, replacement): """ This function will be given a file path and a key. The file that the file path points to contains a json object. This function should, load the data in the file. Then replace the value associated with the key with replacement value. Then it should overwrite the current data in the file with the new changes. Finally it should return the old value. :param file_path: A path to file :param key: A key value in the JSON object saved in the file :param replacement: The new value that the key will be mapped to :return: The old value that the key used to be mapped to """
def update_transactions(file_path: str, transaction_list: list): """ You are part of a team tasked to create an application that helps bankers by saving their transactions for them. Your job within the project is to implement the feature that actually saves the transactions to the hard drive. The scope of your task is that you will be given a file path to where the data should be written and a list of bank transaction objects to be written to the file. The file will contain a JSON array of transactions that the banker previously saved. The bankers at this bank are silly sometimes and they make duplicate transactions, your function should remove the duplicate transactions in the transaction_list and update the existing transaction list saved in the file with the new transactions. Make sure when you are preforming the update of the new transactions that you overwrite old transactions (transactions that already exist in the file) with duplicate new transactions (transactions that are found in the transaction_list). You will know that a transaction is a duplicate if it has the same ID. In the end the file should contain a JSON list with transaction Objects that have been updated with the new information from the transaction_list. The JSON list should contain no transactions with the same ID. The transaction object referred to here in is outlined below. In actual testing of your code the professors transaction object will be used, which will have all the documented functionality. class Transaction: def __init__(self, id:int, type:str, amount:float): self.id:int = id self.type:str = type self.amount:float = amount def __str__(self): return 'Transaction[%s] %s $%s' (self.id, self.type, self.amount) def __hash__(self): return hash(self.id) def __eq__(self, other): return hasattr(other,'id') and other.id == self.id :param file_path: A path to file blank file that holds a JSON list of existing transaction and where the new transaction data should be written :param transaction_list: A list of transaction :return: None """
File.txt:
hello.
how are you?
great,
and you?
I am great too.
dictFile:
{
'hello':'everybody'
}
tr_list:
{
"TransactionList": [
{
"id": 123456789,
"typeOfTransaction": "check",
"amount": 1000
},
{
"id": 123423789,
"typeOfTransaction": "withdrawals",
"amount": 1500
},
{
"id": 123457095,
"typeOfTransaction": "check",
"amount": 5000
}
]
}
Sample output:
Last line: I am great too.
Entire file:
hello.
how are you?
great,
and you?
I am great too.
Call the write function
Write function executed
Call the write last line function
Write the last line function executed
Call clear function
File deleted
Call delete last line'
Last line deleted
Execute swap value function.
File after swapping values:
{
"hello": "everybody"
}
old value was: every
Update transaction function
Old transaction list {'TransactionList': [{'id': 123456789, 'typeOfTransaction': 'check', 'amount': 1000}, {'id': 123423789, 'typeOfTransaction': 'withdrawals', 'amount': 1500}, {'id': 123457095, 'typeOfTransa
Transaction_list after updation: {
"TransactionList": [
{
"id": 123456789,
"typeOfTransaction": "check",
"amount": 1000
},
{
"id": 123423789,
"typeOfTransaction": "withdrawals",
"amount": 1500
},
{
"id": 123457095,
"typeOfTransaction": "check",
"amount": 5000
},
{
"id": 1588457096,
"typeOfTransaction": "check",
"amount": 20000
}
]
}
Update transaction function executed
Tr_list after updation:
{
"TransactionList": [
{
"id": 123456789,
"typeOfTransaction": "check",
"amount": 1000
},
{
"id": 123423789,
"typeOfTransaction": "withdrawals",
"amount": 1500
},
{
"id": 123457095,
"typeOfTransaction": "check",
"amount": 5000
},
{
"id": 1588457096,
"typeOfTransaction": "check",
"amount": 20000
}
]
}
Write_file.txt:
Hello, everybody
Step-by-step explanation
Input:
Output:
tr_list:
Output Snip:
Program Code:
Get Answers For Free
Most questions answered within 1 hours.