Fórum Root.cz

Hlavní témata => Vývoj => Téma založeno: Ivan Kovac 20. 01. 2019, 01:20:27

Název: Python attribute error 'str' object has no attribute 'get'
Přispěvatel: Ivan Kovac 20. 01. 2019, 01:20:27
Asi je to uz pokrocilov hodinov ale neviem si dat rady s tymto v pythone 3
Kód: [Vybrat]
def load_nodes():
        loadfile = open("nodelist.txt", "r")

        nodelist = loadfile.readline()   
        values = nodelist
        print (values)
        lines = text_file.read().split(',')
        nodes = values.get('nodes').replace(" ", "").split(',')

vstup je
Kód: [Vybrat]
127.0.0.1:5001,127.0.0.1:5000,127.0.0.1:8080,
ale hadze mi to chybu attribute error 'str' object has no attribute 'get' preco?
Dakujem
Název: Re:Python attribute error 'str' object has no attribute 'get'
Přispěvatel: user 20. 01. 2019, 02:00:46
No lebo string nema metodu "get".

Vies vobec co tam robis, pripadne co tou funkciou chces dosiahnut? Lebo pride mi prinajmensom chaoticka :D Ja to vidim nejako takto:
- precitas prvy riadok z toho suboru do stringu "nodelist"
- skopirujes si to do stringu "values" (WTF? naco?)
- potom nejaky uplne odveci riadok
- no a z toho stringu "values" sa nieco snazis dostat s .get('nodes'), ako keby mal byt "values" napr. dictionary, ale je to string
Název: Re:Python attribute error 'str' object has no attribute 'get'
Přispěvatel: gll 20. 01. 2019, 08:45:07
zkus vymazat .get('nodes'). Ale podle mě nevíš co děláš.
Název: Re:Python attribute error 'str' object has no attribute 'get'
Přispěvatel: cinnamon 20. 01. 2019, 09:44:59
Jak už bylo řečeno, pokoušíš se volat metodu get, kterou string nemá. Jestli se Python teprve učíš, nebo si chceš slepit nějakej skript, můžou se ti hodit třeba stránky https://www.w3schools.com/python, jsou tam takový lehký základy, který se pro začátek můžou hodit.
Název: Re:Python attribute error 'str' object has no attribute 'get'
Přispěvatel: operator 20. 01. 2019, 20:00:17
To neni pokrocilou hodinou, ale tim, ze je to nesmyslna prasarna, ktera nema hlavu ani patu. Viz komentare.

Asi je to uz pokrocilov hodinov ale neviem si dat rady s tymto v pythone 3
Kód: [Vybrat]
def load_nodes():
        # chybi docstring, ktery by vysvetlil, co to ma delat a co to ma vracet
        loadfile = open("nodelist.txt", "r") # lepsi je otvirat soubory s with

        nodelist = loadfile.readline()    # nacitas jen prvni radek, to je to, co chces?
        values = nodelist                 # zbytecne
        print (values)
        lines = text_file.read().split(',')   # nesmysl, text_file neni ve funkci definovany, s vysledkem se nic nedela
        nodes = values.get('nodes').replace(" ", "").split(',')  # values je prvni radek souboru, nema metodu get, zbytek nemuze fungovat
        # funkce nic nevraci
vstup je
Kód: [Vybrat]
127.0.0.1:5001,127.0.0.1:5000,127.0.0.1:8080,