Я изучаю Python3 и пытаюсь создать объект-агент (пользовательский объект), инициируя его атрибуты из файла JSON.
Проблема заключается в том, что когда я запустите мой python файл, он не найдет файл, который находится в том же каталоге. Я проверил имя, и это не опечатка. Я не понимаю, где проблема на самом деле.
Вот моя структура папок:
project/
model.py
agents-100k.json
Вот мой model.py
файл
import json
class Agent:
def __init__(self, **agent_attributes):
"""Constructor of Agent class"""
# Print each element of dict
print(agent_attributes.items())
# Get the name and the value of each entry in dict
for attr_name, attr_value in agent_attributes.items():
# setattr(instance, attribute_name, attribute_value)
setattr(self, attr_name, attr_value)
def say_hello(self, first_name):
"""Say hello to name given in argument"""
return "Hello " + first_name + "!"
def main():
for agent_attributes in json.load(open("agents-100k.json")):
agent = Agent(**agent_attributes)
print(agent.agreeableness)
main()
Вот пример файла agents-100k.json
(записей много, поэтому я покажу только две):
[
{
"age": 84,
"agreeableness": -0.8437190198916452,
"conscientiousness": 0.6271643010309115,
"country_name": "China",
"country_tld": "cn",
"date_of_birth": "1933-12-27",
"extraversion": 0.3229563709288293,
"id": 227417393,
"id_str": "bNn-9Gc",
"income": 9881,
"internet": false,
"language": "Standard Chinese or Mandarin",
"latitude": 33.15219798270325,
"longitude": 100.85840672174572,
"neuroticism": 0.15407262417068612,
"openness": 0.041970542572878806,
"religion": "unaffiliated",
"sex": "Male"
},
{
"age": 6,
"agreeableness": -0.40747441203817747,
"conscientiousness": 0.4352286422343134,
"country_name": "Haiti",
"country_tld": "ht",
"date_of_birth": "2011-12-21",
"extraversion": 1.4714618156987345,
"id": 6821129477,
"id_str": "bt3-xj9",
"income": 1386,
"internet": false,
"language": "Creole",
"latitude": 19.325567983697297,
"longitude": -72.43795260265814,
"neuroticism": -0.4503674752682471,
"openness": -0.879092424231703,
"religion": "Protestant",
"sex": "Female"
},
...
]
И, наконец, это ошибка, которую я получаю при запуске python3 project/model.py
:
Traceback (most recent call last):
File "project/model.py", line 50, in <module>
for agent_attributes in json.load(open("agents-100k.json")):
IOError: [Errno 2] No such file or directory: 'agents-100k.json'
Есть что-то, что я сделал не так?
В любом случае спасибо за вашу помощь.