Python - Использование JSON - хранение и использование данных

แชร์
ฝัง
  • เผยแพร่เมื่อ 14 พ.ย. 2024

ความคิดเห็น • 130

  • @Денис-з3у1ч
    @Денис-з3у1ч 4 หลายเดือนก่อน +1

    Крутой обучающий ролик
    лайк

  • @djdkdkrk
    @djdkdkrk ปีที่แล้ว +1

    все супер, автор рофлит, а главное понятно, как же приятно это смотреть

  • @ФдрФфф
    @ФдрФфф ปีที่แล้ว +1

    Главное правильно позвать Джейсона:)

  • @nokia_n-gage
    @nokia_n-gage 2 ปีที่แล้ว +1

    Спасибо!

  • @SELYAVINNICK
    @SELYAVINNICK 4 ปีที่แล้ว +1

    красапет четко

  • @СтепСтеп-п1л
    @СтепСтеп-п1л 3 ปีที่แล้ว +1

    Джейсон крут

  • @luibar5041
    @luibar5041 5 ปีที่แล้ว

    спасибо!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!это лучший урок который видела. по этому

  • @sir_incognito
    @sir_incognito ปีที่แล้ว +1

    Джейсон Стетхем)

  • @user-qc4km8zm3n
    @user-qc4km8zm3n 3 ปีที่แล้ว +1

    Добрые люди, кто - нибудь сталкивался (partially initialized module 'json' has no attribute 'dump' (most likely due to a circular import) честное слово, перепроверил, писал как у автора.

    • @ADV-IT
      @ADV-IT  3 ปีที่แล้ว

      Посмотри как у меня повнимательней может, вот все исходники
      github.com/adv4000/Python-Lessons/tree/master/For-Beginners

    • @user-qc4km8zm3n
      @user-qc4km8zm3n 3 ปีที่แล้ว +2

      @@ADV-IT да я дебил, кто прочитает на будущее - НЕ называйте файлы (просто именем json.py иначе - нервы ( кто сдает на Cisco успехов, автору респект)

  • @kirmuass
    @kirmuass 4 ปีที่แล้ว +1

    Приятный голос...
    и легкий

  • @resq_netmoon9499
    @resq_netmoon9499 6 ปีที่แล้ว +3

    Идеальные уроки объясняешь очень понятно.

  • @МаксимПархомчук-д5и
    @МаксимПархомчук-д5и 7 ปีที่แล้ว +6

    Не засыпается под такие уроки и не нужно много терпения, все живенько, простым языком) "не то что строчка какая-то сраная")))

  • @Ax3L2k
    @Ax3L2k 4 ปีที่แล้ว +2

    каеф

  • @ББек-н2м
    @ББек-н2м 2 ปีที่แล้ว +2

    Чувак, не знаю, буду я программистом или нет. Но я бы с тобой затусил - это однозначно. Очень ржачно смотреть. Иногда из-за приколов твоих дальше просто не могу смотреть. Ты крут)

  • @Yurbanji
    @Yurbanji 5 ปีที่แล้ว +3

    Классный урок! Все понятно!

  • @romanironov463
    @romanironov463 3 ปีที่แล้ว +1

    Читается как объекты, а не как строчка странная :DDD

  • @HattabMedia
    @HattabMedia 3 ปีที่แล้ว +3

    Чтоб не писать 3 строчки принта можно добавить еще один цикл:
    for user in json_data:
    print("Player name is " + str(user["playerName"]))
    print("Player score is: " + str(user["Score"]))
    for num, award in enumerate(user["awards"], 1):
    print(str(user["playerName"]) + " award #" + str(num) + " " + str(award))

  • @Insinghtful
    @Insinghtful 7 ปีที่แล้ว +28

    вы первый кто так все понятно объясняете, и это факт!
    хорошо бы и уроки по автотестам для тестировщиков(pytest) именно от Вас.

    • @cultofsogga5863
      @cultofsogga5863 5 ปีที่แล้ว

      Наверно на английском всё понимал сначала...

  • @Majkirsche
    @Majkirsche 5 ปีที่แล้ว +1

    супер пупер!

  • @veleg
    @veleg 6 ปีที่แล้ว +4

    Просмотрел весь курс. Спасибо автору, то что нужно для освоения. Это уже третий курс + книги, в совокупности прям нереально хапнул.
    Сейчас очень актуальна тема - "Телеграм боты", есть несколько спикеров по Python на youtube, но думаю, если создадите курс именно Вы (ADV-IT
    ), то курс будет пользоваться хорошей популярностью.

    • @ADV-IT
      @ADV-IT  6 ปีที่แล้ว +2

      Я в этот вообще не понимаю, и разбиратся не в приоритете.
      Я в DevOps и AWS новое учу.

    • @veleg
      @veleg 6 ปีที่แล้ว

      ADV-IT Понял. Так, идейку подкинул для канала.

  • @МаксимХрамцов-к8щ
    @МаксимХрамцов-к8щ 8 ปีที่แล้ว +3

    Cпс за урок, всё изложено отлично.

  • @Hottabov
    @Hottabov 7 ปีที่แล้ว +38

    Спасибо, как раз прохожу курсы на Coursera и там дали задание на json, но не объяснили как загонять и читать в файл с помощью json. Похоже, тут объяснение покруче будет, надо будет просмотреть все уроки.

    • @KonstantinAlifanov
      @KonstantinAlifanov 6 ปีที่แล้ว +2

      похожая история))

    • @freshmoney9217
      @freshmoney9217 4 ปีที่แล้ว

      Да курсы есть такие кривые, читают по бумажке блядь может сами и умеют но обьяснить не могут

    • @Brandon_Lee_Good
      @Brandon_Lee_Good 4 ปีที่แล้ว

      Также с Курсеры пришёл

    • @germangavrilenko3392
      @germangavrilenko3392 4 ปีที่แล้ว

      @@Brandon_Lee_Good и я...

  • @АнтонДрагомиров
    @АнтонДрагомиров 6 ปีที่แล้ว +1

    Отличный урок!!!!!!
    ааааааа спасибооооо!!!!
    Вы очень помогли!!!!)))

    • @ADV-IT
      @ADV-IT  6 ปีที่แล้ว

      Рад помоч

  • @veleg
    @veleg 6 ปีที่แล้ว +44

    Зовем этого Джейсона))) Просто выпал от этих слов

  • @kavabangaungava
    @kavabangaungava 6 ปีที่แล้ว +19

    Читается как объект, а не как строчка какая-нибудь сраная. Автор жжет глаголом!

  • @РасулГумаров
    @РасулГумаров 4 ปีที่แล้ว +1

    никак не мог тебя найти, написал в поиск: Питон JSOn Колян. И вот, твоё видео вышло!

  • @andreipopov2700
    @andreipopov2700 5 ปีที่แล้ว +2

    Спасибо за видео - то что надо.
    Пару баксов перекинул ))

    • @ADV-IT
      @ADV-IT  5 ปีที่แล้ว +1

      Спасибо!

  • @k1ber91
    @k1ber91 4 ปีที่แล้ว +14

    "JSON это такая хрень.." - за такие моменты люблю этот канал. Спасибо за уроки.

  • @foxbrest
    @foxbrest 7 ปีที่แล้ว +5

    Уроки замечательные! Может когда нибудь пару слов о тестировании в Python расскажете?
    Тема сложная...а Вы очень хорошо всё обьясняете.

  • @mandz1952
    @mandz1952 4 ปีที่แล้ว

    Можешь помочь? Выдаёт ошибку
    json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

    • @ADV-IT
      @ADV-IT  4 ปีที่แล้ว

      jsonlint.com/ тебе поможет

    • @mandz1952
      @mandz1952 4 ปีที่แล้ว

      @@ADV-IT Спасибо! Помогло, но вышла другая ошибка: KeyError: 'save_com1'

    • @ADV-IT
      @ADV-IT  4 ปีที่แล้ว +1

      @@mandz1952 мои соболезнования

  • @undertheburnttrees5780
    @undertheburnttrees5780 4 ปีที่แล้ว

    А json актуален сегодня?

    • @ADV-IT
      @ADV-IT  4 ปีที่แล้ว +1

      Конечно

  • @yurakhrolenko3605
    @yurakhrolenko3605 4 ปีที่แล้ว +2

    это не подача материала, это пЭсня!)))
    спасибо, и узнал нового и поржал)

  • @Xxx_HA7u6ATOP_228_xxX
    @Xxx_HA7u6ATOP_228_xxX 5 ปีที่แล้ว +9

    только не называйте файл в котором работаете json а то импортировать библиотеку не сможете как я..

  • @onyxf5604
    @onyxf5604 5 ปีที่แล้ว

    Отличный урок. Только подскажите, как при следующем запуске программы загружать эти сохранённые данные и редактировать их?

    • @ADV-IT
      @ADV-IT  5 ปีที่แล้ว +1

      Ну так в уроке яже показываю как загружать эти данные, загрузил. изменил сделал dump в файл.
      Урок посмотри повнимательней, яже всё показываю.

  • @ivanaaa6049
    @ivanaaa6049 5 ปีที่แล้ว +1

    Не все данные сохраняются в JSON (о чем автор молчит):
    1. tuple будут автоматически преобразован в list при сохранении / восстановлении.
    2.Ключи для dict должны быть примитивных типов (в одной из книг написано, что только строковыми)- иначе выбрасывается исключение.
    3. Вообще не понятно, как этот формат отображает set (нигде не написано).
    4. Проблема для сохранения объектов с состоянием.
    Так что это не универсальный инструмент, и налагает на код большое количество ограничений, если вы хотите сохранять объекты.

  • @MoranKitz
    @MoranKitz 5 ปีที่แล้ว

    Подскажите пожалуйста, почему у меня вылетает вот такая ошибка?
    Traceback (most recent call last):
    File "F:/Files of python/lessons/lesson.py", line 24, in
    _json.dumps (myplayers, myfile)
    AttributeError: module '_json' has no attribute 'dump'

    • @ADV-IT
      @ADV-IT  5 ปีที่แล้ว

      module _json?
      может без underscore?

    • @MoranKitz
      @MoranKitz 5 ปีที่แล้ว

      @@ADV-IT пробовал и без андерскора

    • @ADV-IT
      @ADV-IT  5 ปีที่แล้ว

      Посмотри мой пример github.com/adv4000/Python-Lessons/blob/master/Lesson-21-JSON.py

  • @konstantin3756
    @konstantin3756 8 ปีที่แล้ว +3

    Здравствуйте! С интересом смотрю ваши уроки.
    Почему нельзя также в текстовый сохранить без использования JSON?

    • @ADV-IT
      @ADV-IT  8 ปีที่แล้ว

      Можно конечно и в обычный текстовый файл, но просто прочитать потом не получится также обратно, особенно если сохраняешь сразу несколько переменных.

    • @antidude1147
      @antidude1147 7 ปีที่แล้ว

      ADV-IT Прочитать без Json можно с помощью ast

  • @amorv7734
    @amorv7734 4 ปีที่แล้ว

    Для питона минимальные требование компа какие должны быть ?

    • @ADV-IT
      @ADV-IT  4 ปีที่แล้ว +1

      Да любые, на старом хламе все работает

  • @ГлебЧет
    @ГлебЧет 7 ปีที่แล้ว +13

    12:12 Перфекционизм доминирует)))

  • @genater2000
    @genater2000 7 ปีที่แล้ว +1

    Вы сказали надо конвертировать в примере user["PlayerName"] потому что это объект(?). Но type(user["PlayerName"]) выдает , то есть строковой класс, и конвертирование не обязательно ?

  • @egoyst
    @egoyst 5 ปีที่แล้ว +1

    а теперь жахнем джейсоном) Взял фразу на вооружение)

  • @nickolaym.2666
    @nickolaym.2666 7 ปีที่แล้ว +1

    Привет, не находит мордуль JSON. "ModuleNotFoundError: No module named 'json' " Версия Питона 3.5

    • @ADV-IT
      @ADV-IT  7 ปีที่แล้ว +1

      JSON утстанавливается по умолчанию при установке самого Питона, поробуй переустанови

  • @monkdok
    @monkdok 5 ปีที่แล้ว

    Круто!
    А какие приимущества у JSON перед SHELVE?

    • @ADV-IT
      @ADV-IT  5 ปีที่แล้ว

      Низнаю

    • @monkdok
      @monkdok 5 ปีที่แล้ว

      @@ADV-IT а в вашей практике вы что чаще используете для хранения данных такого рода?

    • @ADV-IT
      @ADV-IT  5 ปีที่แล้ว +2

      Только JSON

  • @timmofonnius
    @timmofonnius 4 ปีที่แล้ว

    14:35 player дональд трамп, его штучку увидели :D десять штучек трампа из десяти

  • @rob11nzon
    @rob11nzon 6 ปีที่แล้ว +3

    Спасибо за хорошее видео, но есть один момент. Лучше принтить строку с применением " ".format(). Не придётся ставить плюсы, переводить все данные в строку да и вообще функционал у формата большой.

    • @lanterchannel1437
      @lanterchannel1437 5 ปีที่แล้ว

      Я попробовал, у меня ошибки выдает (Invalid syntax) , а с плюсом всё работает)

  • @ДмитрийБо-о3л
    @ДмитрийБо-о3л 7 ปีที่แล้ว +3

    имеет смысл добавить как дописывать в этот файл. и как считывать когда файл большой и надо не весь его в память втаскивать сразу, а читать частями. Это был бы более полный пример.

    • @vitamalyar3792
      @vitamalyar3792 5 ปีที่แล้ว

      Для дозапись в конец нужно файл открыть в ружиме mode='a'

  • @indev4056
    @indev4056 6 ปีที่แล้ว

    У меня при попытке вывести данные пишет "обьект 'dict' не вызывается". что делать?

    • @ADV-IT
      @ADV-IT  6 ปีที่แล้ว +2

      Молится Богу!

  • @ja_Urainetc
    @ja_Urainetc 7 ปีที่แล้ว +2

    1. сколько можно оброблять даньіх етим методом?
    тоесть можно сохранять например 1000 или 5000 словарей (Players)?
    не будет ето дело тормозить?
    2. Можно ли из файла вьібирать (искать) только нужньіе записи (словари)?
    оброблять их и записьівать обратно в файл ?
    тоесть такая себе текстовая БД или лутше для етих потреб использовать sqlite3, или sql ?

    • @ADV-IT
      @ADV-IT  7 ปีที่แล้ว

      JSON файл это как NoSQL база данных, так что можно из неё вытаскивать только то что тебе нужно, а вот насчет тормозить, таже не знаю, надо пробовать stress test

    • @ja_Urainetc
      @ja_Urainetc 7 ปีที่แล้ว

      а как искать в JSON файле только нужньіе записи (словари)?
      оброблять их и записьівать обратно в файл ?

    • @pygramming6319
      @pygramming6319 7 ปีที่แล้ว +2

      Если нужно шифрование (предметы) - MySQL, а если просто настройки программы (настройки графики, список избранных серверов) - JSON, т.к. он не шифрует данные и полегче немного.
      p.s. Я не написав на українский тому, що не дуже гарно знаю її. Пробачай.

  • @antonMurzilka
    @antonMurzilka 6 ปีที่แล้ว

    Сложно ли найти первую работу после освоения python Django HTML css PostgreSQL?

    • @ADV-IT
      @ADV-IT  6 ปีที่แล้ว

      Да. Всегда сложно найти первую работу, не важно сколько при этом выучил.

  • @ВикторКабанов-ъ6с
    @ВикторКабанов-ъ6с 6 ปีที่แล้ว +2

    Code -> Reformat code (CTRL+ALT+L) и не будет ругаться на пробелы ;)

  • @Bergen2
    @Bergen2 5 ปีที่แล้ว

    откуда названия myfile и filename? рандомные?

    • @ADV-IT
      @ADV-IT  5 ปีที่แล้ว

      я придумал

  • @alexmahmutov6787
    @alexmahmutov6787 7 ปีที่แล้ว

    А как получить json строку из объекта/массива, не сохраняя ее в файл?

  • @ИгорьЛавренчук-ы7п
    @ИгорьЛавренчук-ы7п 4 ปีที่แล้ว

    а где json то в результате? структуры нет,тегов нет..хрень.

  • @СергейКиян-ш6у
    @СергейКиян-ш6у 7 ปีที่แล้ว

    Не понимаю почему, но у меня данный код не работает, не может сериализовать.
    import json
    filename = "users.txt"
    user1 = {
    'Name': 'Edward',
    'PasswordHash': 'abcd1234',
    'Position': 'Developer'
    }
    with open(filename, mode='w+', encoding='UTF-8') as file:
    json.dump(file, user1)
    Выдаёт: TypeError: Object of type 'TextIOWrapper' is not JSON serializable
    Весть StackOverflow облазил, не мог понять в чем дело.

    • @ADV-IT
      @ADV-IT  7 ปีที่แล้ว +2

      У тебя ощибка в
      json.dump(file, user1)
      Поменяй местами на
      json.dump(user1, file)

    • @СергейКиян-ш6у
      @СергейКиян-ш6у 7 ปีที่แล้ว +2

      Семен, семеныч((((
      Спасибо большое.

  • @kreved52
    @kreved52 5 ปีที่แล้ว

    В чем разница с pickle?

    • @ADV-IT
      @ADV-IT  5 ปีที่แล้ว +1

      docs.python.org/3/library/pickle.html#comparison-with-json

  • @alonasorochynska5881
    @alonasorochynska5881 6 ปีที่แล้ว +1

    Автор, ты крут! Объясняешь супер, но от сленга уши крутятся в трубочку)))

    • @ADV-IT
      @ADV-IT  6 ปีที่แล้ว +5

      Спасибо, другого русского уже не знаю :)

  • @thesergeymen2632
    @thesergeymen2632 6 ปีที่แล้ว

    Есть один вопрос-придирка:
    Почему всё не записать в одну переменную? (players = { "Hillory":{...}, "Tpump":{...}) это было бы куда выгоднее, ну а так видос норм)

    • @ADV-IT
      @ADV-IT  6 ปีที่แล้ว

      The Sergey Men можно и так.

    • @namesurname7121
      @namesurname7121 6 ปีที่แล้ว +1

      нахера. это неудобно и менее читабельно.

  • @user-sg5sc3xw4p
    @user-sg5sc3xw4p 6 ปีที่แล้ว

    Короче суть в том что мне нужно сделать вот такое меню на питоне
    Войти1
    Зарегестрироватся2
    Зайти как админ.3
    ==========================================================================
    что бы при нажатии на клави 1 юзер мог зайти на сайт
    при нажатии 2 он мог зарегестрироватся и войти на сайт
    и 3 это админка
    ==========================================================================
    Меню пользователя:
    • Вывести все товары на экран 1
    • Вывести только ноутбуки/мат.платы/процессор/оперативки/видюхи 2
    • Отсортировать любой из выбранных товаров по цене 3
    • Вывести только те товары, которые больше N 4
    • Вывести только те товары, которые меньше N 5
    • Вывести только те товары, которые больше N меньше M 6
    =========================================================
    а в меню админа должно быть
    Админ меню:
    • Просмотреть список любой из сущности 1
    • Добавить удалить пользователя 2
    • Добавить удалить ноутбук 3
    • Добавить удалить мать 4
    • Добавить удалить процессор 5
    • Добавить удалить оперативную память 6
    • Добавить удалить видюху 7
    Пожалуйста помогите
    напишите я хочу разобрать как это делать очень нужно

    • @ADV-IT
      @ADV-IT  6 ปีที่แล้ว

      Может не JSON в этом случае, а базой данных надо пользоваться?

    • @user-sg5sc3xw4p
      @user-sg5sc3xw4p 6 ปีที่แล้ว

      да?

    • @ADV-IT
      @ADV-IT  6 ปีที่แล้ว

      Посмотри урок работа с Базами Данных, не так все сложно получится.
      th-cam.com/video/C2TrKgd7sME/w-d-xo.html

  • @thesergeymen2632
    @thesergeymen2632 6 ปีที่แล้ว

    Привет
    Хотел кое-что спросить, вот у меня есть код:
    #JSON на перезапись
    import json
    my_json = json.load(open('testJSON.json', 'r'))
    my_json['name'] = 'Pasha'
    json.dump(my_json, open('testJSON.json', 'w'))
    Может ли он считаться правильным? Код работает, да и по идее функции автоматом файл закрывают, но есть сомнения, что код не правильный(типо файлы открываю и не закрываю)

    • @ADV-IT
      @ADV-IT  6 ปีที่แล้ว +2

      Открывать файл можно много раз? Вот из книги:
      The same file can be opened more than once in the same program (or in different programs). Each instance of the open file has its own file pointer that can be manipulated independently
      Закрой файл в самом конце программы на всякий случай.

  • @lith1um60
    @lith1um60 6 ปีที่แล้ว +8

    Со строчки сраной орнул)

  • @NMelis
    @NMelis 7 ปีที่แล้ว

    а как дописать?

  • @ЄвгенійСінєльніков
    @ЄвгенійСінєльніков 5 ปีที่แล้ว +5

    Джейсон_и_Сраная_Строчка(ору)

  • @_meta_data_9992
    @_meta_data_9992 4 ปีที่แล้ว

    От простого к сложному: th-cam.com/video/w9UuJprl-Sw/w-d-xo.html

  • @ЕвгенийБондаренко-с5е
    @ЕвгенийБондаренко-с5е 6 ปีที่แล้ว

    надо было в конце файла написать json

  • @МаксимВладимирович-я7ю
    @МаксимВладимирович-я7ю 5 ปีที่แล้ว

    в итоге победил Трамп, а Джейсон Стетхем не причем.

  • @user-sg5sc3xw4p
    @user-sg5sc3xw4p 6 ปีที่แล้ว

    Мистер ADV IT я сделал менюшку админа и логина но я не могу понять как мне сделать что бы при нажатии клавиши 1 открывалась регестрация а при 2 админка

    • @user-sg5sc3xw4p
      @user-sg5sc3xw4p 6 ปีที่แล้ว

      Я чет не понял базу данных

    • @ADV-IT
      @ADV-IT  6 ปีที่แล้ว +1

      chuvaknajal = input("Vvedite 1 - Registaciya,ili 2 - Adminka :")
      if chuvaknajal ==1:
      registaciya()
      if chuvaknajal ==2:
      adminka()
      Функции registraciya() и adminka() сам напиши как небе нужно.

    • @user-sg5sc3xw4p
      @user-sg5sc3xw4p 6 ปีที่แล้ว

      мда я думал будет сложнее

    • @user-sg5sc3xw4p
      @user-sg5sc3xw4p 6 ปีที่แล้ว

      спс

    • @user-sg5sc3xw4p
      @user-sg5sc3xw4p 6 ปีที่แล้ว

      import json
      chuvaknajal = input("Vvedite 1 - Registaciya,ili 2 - Adminka :")
      if chuvaknajal == 1:
      registr()
      if chuvaknajal == 2:
      adminka()
      def registr():
      filename = "users_save.txt"
      myfile = open(filename, mode='w', encoding='Latin-1')
      username = input("Введите логин")
      password = input("Введите пароль")
      print("Пользователь сохранен")
      registration= []
      registration.append(username)
      registration.append(password)
      json.dump(registration,myfile)
      myfile.close()
      У меня чет не работает

  • @Wood3nMonkey
    @Wood3nMonkey 4 ปีที่แล้ว

    Ты как смирительную рубашку снял?

  • @ДмитрийВиноградов-ч9б
    @ДмитрийВиноградов-ч9б 4 ปีที่แล้ว +1

    JSONom жахнуть! )))

  • @tihon4979
    @tihon4979 5 ปีที่แล้ว +1

    Уроки классные, но язык опережает мысль, и когда смотришь минут тридцать - это начинает за#&ыв@ть. Просьба не спешить. А так весело местами.

  • @НиколайПшеничный-г5щ
    @НиколайПшеничный-г5щ 6 ปีที่แล้ว +1

    Квадратные скобки это список, не массив

    • @alonasorochynska5881
      @alonasorochynska5881 6 ปีที่แล้ว

      Почему-то в интернете список часто называют массивом в Питоне

  • @wordpreslabs
    @wordpreslabs 6 ปีที่แล้ว +4

    Замечательные и полезные уроки, но ради всего святого поработайте на дикцией, очень много слов паразитов... Не смертельно, но слух режет очень сильно.
    Предлагаю записывать сценарий, или озвучивать после снятия материала.