initially, the idea of the article was to write four lines of code, doing the following 2 tasks:
- uploading data to a given file
- getting JSON data from file and using it in an application
However, as soon as I started, I considered that I would probably need a little more lines to generate the data in a better way. Thus, I decided to build two classes – class FootballPlayer and class FootballTeam. The FootballTeam is consisted of players, thus I have added the functions add_to_team(), change_team_list(), show_team(). They are dealing with the dictionary _teamList, which is generated on initialization of the FootballTeam class. The dictionary _teamList is the one, to be uploaded to a file and later downloaded. All of the progress is printed on almost every step, like this:
So, pretty much that is all, folks! The code is available in GitHub and below:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
import json class FootballTeam: def __init__(self): self._teamList = {} def add_to_team(self, player): self._teamList[player] = [player._salary] def change_team_list(self, dict): self._teamList = {} self._teamList = dict def show_team(self): return self._teamList class FootballPlayer: def __init__(self, name, age, salary): self._name = name self._age = age self._salary = salary def __str__(self): return self._name + " " + str(self._age) def __repr__(self): return str(self) def salary(self, player): return str(player._salary) AFC_Lions = FootballTeam() player1 = FootballPlayer("Ivan", 22, 15000) player2 = FootballPlayer("Stoyan", 23, 16000) player3 = FootballPlayer("Damyan", 25, 17000) player4 = FootballPlayer("Kaloyan", 19, 18000) print(player1) AFC_Lions.add_to_team(player1) AFC_Lions.add_to_team(player2) AFC_Lions.add_to_team(player3) AFC_Lions.add_to_team(player4) print(AFC_Lions.show_team()) with open('exported.txt', 'w') as outfile: json.dump(str(AFC_Lions.show_team()), outfile) print("\nPrinting to file is ready!") print("Now load:") ownfile = open("imported.txt", "r") data = ownfile.read() print("Raw data from the file:\n", data) print("Data to json:\n", json.loads(data), "\n") print("Replacing the new data and showing:") AFC_Lions.change_team_list(json.loads(data)) print(AFC_Lions.show_team()) |
Enjoy it! 🙂