Top Nutzer

Thema Python
  1. 15 P.
Aus diesem Dictionary (Python) Wert auslesen?

Ich habe hier diesem Code:

from bs4 import BeautifulSoup
import json, random, re, requests

BASE_URL = 'https://www.instagram.com/accounts/login/' LOGIN_URL = BASE_URL + 'ajax/'

headers_list = [         "Mozilla/5.0 (Windows NT 5.1; rv:41.0) Gecko/20100101"\         " Firefox/41.0",         "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_2)"\         " AppleWebKit/601.3.9 (KHTML, like Gecko) Version/9.0.2"\         " Safari/601.3.9",         "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:15.0)"\         " Gecko/20100101 Firefox/15.0.1",         "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"\         " (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36"\         " Edge/12.246"         ]

USERNAME = 'existiertnicht345432256326' PASSWD = 'falschespasswort675867586' USER_AGENT = headers_list[random.randrange(0,4)]

session = requests.Session() session.headers = {'user-agent': USER_AGENT} session.headers.update({'Referer': BASE_URL})     req = session.get(BASE_URL)     soup = BeautifulSoup(req.content, 'html.parser')     body = soup.find('body')

pattern = re.compile('window._sharedData') script = body.find("script", text=pattern)

script = script.get_text().replace('window._sharedData = ', '')[:-1] data = json.loads(script)

csrf = data['config'].get('csrf_token')
login_data = {'username': USERNAME, 'password': PASSWD}
session.headers.update({'X-CSRFToken': csrf})
login = session.post(LOGIN_URL, data=login_data, allow_redirects=True)
list = login.content
print(list)

Ich habe übrigends Python 3.6

Als Ausgabe bekomme ich

b'{"authenticated": false, "user": false, "status": "ok"}'

Ich gehe mal davon aus, dass das ein Dictionary ist, allerdings wundert mich das b' '

Wie kann ich jetzt den Wert "authenticate" auslesen

So klappt es nicht:

print(list["authenticate"])
print(list[1])
print(list[0])

Ich verstehe vor allem nicht, was das b' ' da macht🤔

Computer, programmieren, Programmierung, Error, Informatik, Python, Dictionary
2 Antworten
Warum wird das JLabel nicht angezeigt?

Ich möchte, damit es später nicht so viel auf einmal wird die verschiedenen Bestandteile des JFrames in mehrer Klassen schreiben. In diesem Fall habe ich ein Jframe, in dem ein JPanel geladen wird, in dem ein JLabel ist. Wenn ich das Programm allerdings ausführe, wird das JLabel nicht angezeigt.

Bilder: https://drive.google.com/drive/folders/1CoH93gGGE0h0hOfwpI5dMur3USVmz4sz?usp=sharing

Hier mal die Klassen:

Main.java

import javax.swing.JFrame;

public class Main {

	public static void main(String[] args) {
		JFrame frame = new DiyLoopFrame();
	}
}

DiyLoopFrame.java (das JFrame)

import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class DiyLoopFrame extends JFrame {
	
	//constructor
	public DiyLoopFrame() {
		setSize(880, 650);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setLocationRelativeTo(null); 
		setTitle("DiyLoop");
		setResizable(false);
		setLayout(null);
		JPanel fc = new FrameControls();
		
		//components
		add(fc); //add FrameControls
		addKeyListener(new KeyHandler()); //get Keys
		
		//loading complete!
		setFocusable(true); //set focus to jframe
		setVisible(true); //make visible
	}
}

FrameControls.java (das JPanel)

import java.awt.Font;
import javax.swing.JLabel;
import javax.swing.JPanel;

public class FrameControls extends JPanel {
	
	private JLabel label_schriftart;
	private JLabel label_clickoptions;
	
	public FrameControls() {
		//add components
		initComponents();
		add(label_clickoptions);
		
		//loading complete!
		setVisible(true);
	}
	
	private void initComponents() {
		//schriftart
		label_schriftart = new JLabel("");
		Font schriftart = (label_schriftart.getFont().deriveFont(Font.BOLD, 15));
		
		//label clickoptions
		label_clickoptions = new JLabel("click options");
		label_clickoptions.setFont(schriftart);
		label_clickoptions.setBounds(5, 5, 500, 11);
	}
}

.

Computer, Technik, java programmieren, Python, Swing, eclispe, progrmaming
3 Antworten
Python Discord Bot: Traceback (most recent call last)?

Hi!

Ich bin gerade dabei, einen Discord-Bot zu erstellen. Folgende Fehlermeldung bekomme ich beim Starten:

Traceback (most recent call last):
  File "C:/Users/User/PycharmProjects/pyexBot/main.py", line 2, in <module>
    import discord
  File "C:\Users\User\AppData\Local\Programs\Python\Python37-32\lib\site-packages\discord__init__.py", line 20, in <module>
    from .client import Client, AppInfo, ChannelPermissions
  File "C:\Users\User\AppData\Local\Programs\Python\Python37-32\lib\site-packages\discord\client.py", line 38, in <module>
    from .state import ConnectionState
  File "C:\Users\User\AppData\Local\Programs\Python\Python37-32\lib\site-packages\discord\state.py", line 36, in <module>
    from . import utils, compat
  File "C:\Users\User\AppData\Local\Programs\Python\Python37-32\lib\site-packages\discord\compat.py", line 32
    create_task = asyncio.async
                              ^
SyntaxError: invalid syntax

Zeilen der Fehler:

main.py:
1: import asyncio as asyncio 2: import discord 3: from discord import Client

init.py:
20: from .client import Client, AppInfo, ChannelPermissions

compat.py:
29: try:
30:     create_task = asyncio.ensure_future
31: except AttributeError:
32:     create_task = asyncio.async
33:
34: try:
35:     run_coroutine_threadsafe = asyncio.run_coroutine_threadsafe
36: except AttributeError:

state.py
36: from . import utils, compat

client.py
38: from .state import ConnectionState

Kann mir da jemand helfen? Ich bin neu in Python, deshalb weiß ich nicht, wie ich mit diesen Fehlermeldungen umgehen soll. Gerade weil nicht ich, sondern der Ersteller von discord.py den Code geschrieben hat, kann ich nichts damit anfangen.

Danke für jede hilfreiche Antwort!

Computer, Technik, programmieren, Bot, Python, discord, Discord Bot
1 Antwort
Python fehler suchen?

class Mitarbeiter:
    def __init__(self, name, gehalt, einstiegsjahr):
        self.name = name
        self.gehalt = gehalt
        self.einstiegsjahr = einstiegsjahr


def __str__(self):
    return 'Mitarbeiter {} {}' .format(self.name + ': Gehalt ', self.gehalt + ', beschäftigt seit ' + str(self.einstiegsjahr))
def gehalt_erhoehen(self, prozent):
    prozent = prozent/1
    if isinstance(prozent, (float)):
        alt = self.gehalt
        neu = self.gehalt * (100 + prozent)/100
        self.gehalt = neu
        print('Gehalt von', alt, 'auf', neu, ' um ', prozent, 'Prozent geändert')
        return True
    else:
        print('Gehalt wurde nicht geändert')
        return False

class Angestellter(Mitarbeiter): '''Ein Angestellter kann maximal Hierarchiestufe 5 bekleiden''' def __init__(self, name, gehalt, einstiegsjahr, hierarchie = 1): Mitarbeiter.__init__(self, name, gehalt, einstiegsjahr) self.hierarchiestufe = hierarchie if self.hierarchiestufe > 5: self.hierarchiestufe = 5

def __str__(self):
    return print(Mitarbeiter), ' Hierarchiestufe ', str(self.hierarchiestufe)

def befoerderung(self):
    '''Bei einer Beförderung wird die Hierarchiestufe um 1 erhöht (max 5) und das Gehalt
    um 200 erhöht'''
    if self.hierarchiestufe &lt;= 5:
        self.gehalt += 200
        self.hierarchiestufe += 1
        print(self.name, 'wurde befördert')
    else:
        print(self.name, 'war schon auf Stufe 5')

class Manager(Mitarbeiter): '''Ein Manager hat eine Sekretärin/einen Sekretär''' def __init__(self, name, gehalt, einstiegsjahr, sekretaerin): Mitarbeiter.__init__(self, name, gehalt, einstiegsjahr) if isinstance(sekretaerin, Mitarbeiter): self.sekretaerin = sekretaerin

def __str__(self):
    m = Mitarbeiter.__str__(self) + ' Sekretärin: '
    if self.sekretaerin is not None:
        m = m + self.sekretaerin.name
    else:
        m = m + 'unbesetzt'
    return m

def gehalt_erhoehen(self, prozent):
    '''Ein Manager bekommt bei einer Gehaltserhöhung einen zusätzlichen Bonus
    von 1/2 Prozent für jedes Dienstjahr'''
    p = (2018 - self.einstiegsjahr)* 0.5
    Mitarbeiter.gehalt_erhoehen(self, p)

def test(): huber = Mitarbeiter('Hannes Huber', '4300', 2010) maier = Angestellter('Martin Maier', '2100', 2017, 5) gruen = 'Gundula Grün' pichler = Manager('Peter Pichler', '4300', 2013, gruen) moser = Angestellter('Martha Moser', '2000', 2007, 2)

meine_mitarbeiter = {'Huber': huber,
                     'Maier': maier,
                     'Grün': gruen,
                     'Pichler': pichler,
                     'Moser': moser}

print('Alle Mitarbeiter ausgeben:')
for ma in meine_mitarbeiter:
    print(meine_mitarbeiter[ma])
print('\nAllgemeine Gehaltserhöhung um 2%:')
for ma in meine_mitarbeiter:
    meine_mitarbeiter[ma].gehalt_erhoehen(2)
    print(meine_mitarbeiter[ma])
print('\nAllgemeine Beförderung:')
for ma in meine_mitarbeiter:
    meine_mitarbeiter[ma].befoerderung()
    print(meine_mitarbeiter[ma])

test()

Ich finde den Fehler nicht. er gibt immer noch Fehler aus

Python, hilferuf
2 Antworten
python fehler finden?
class Mitarbeiter:
    def __init__(self, name, gehalt, einstiegsjahr):
        self.name = name
        self.gehalt = gehalt
        self.einstiegsjahr = einstiegsjahr

    def __str__(self):
        return 'Mitarbeiter {} {}' .format(self.name + ': Gehalt ', self.gehalt + ', beschäftigt seit ' + str(self.einstiegsjahr))
    def gehalt_erhoehen(self, prozent):
        prozent = prozent/1
        if isinstance(prozent, (float)):
            alt = self.gehalt
            neu = self.gehalt * (100 + prozent)/100
            self.gehalt = neu
            print('Gehalt von', alt, 'auf', neu, ' um ', prozent, 'Prozent geändert')
            return True
        else:
            print('Gehalt wurde nicht geändert')
            return False


class Angestellter(Mitarbeiter):
    '''Ein Angestellter kann maximal Hierarchiestufe 5 bekleiden'''
    def __init__(self, name, gehalt, einstiegsjahr, hierarchie = 1):
        Mitarbeiter.__init__(self, name, gehalt, einstiegsjahr)
        self.hierarchiestufe = hierarchie
        if self.hierarchiestufe > 5:
            self.hierarchiestufe = 5

    def __str__(self):
        return print(Mitarbeiter), ' Hierarchiestufe ', str(self.hierarchiestufe)

    def befoerderung(self):
        '''Bei einer Beförderung wird die Hierarchiestufe um 1 erhöht (max 5) und das Gehalt
        um 200 erhöht'''
        if self.hierarchiestufe <= 5:
            self.gehalt += 200
            self.hierarchiestufe += 1
            print(self.name, 'wurde befördert')
        else:
            print(self.name, 'war schon auf Stufe 5')


class Manager(Mitarbeiter):
    '''Ein Manager hat eine Sekretärin/einen Sekretär'''
    def __init__(self, name, gehalt, einstiegsjahr, sekretaerin):
        Mitarbeiter.__init__(self, name, gehalt, einstiegsjahr)
        if isinstance(sekretaerin, Mitarbeiter):
            self.sekretaerin = sekretaerin

    def __str__(self):
        m = Mitarbeiter.__str__(self) + ' Sekretärin: '
        if self.sekretaerin is not None:
            m = m + self.sekretaerin.name
        else:
            m = m + 'unbesetzt'
        return m

    def gehalt_erhoehen(self, prozent):
        '''Ein Manager bekommt bei einer Gehaltserhöhung einen zusätzlichen Bonus
        von 1/2 Prozent für jedes Dienstjahr'''
        p = (2018 - self.einstiegsjahr)* 0.5
        Mitarbeiter.gehalt_erhoehen(self, p)


def test():
    huber = Mitarbeiter('Hannes Huber', '4300', 2010)
    maier = Angestellter('Martin Maier', '2100', 2017, 5)
    gruen =  'Gundula Grün'
    pichler = Manager('Peter Pichler', '4300', 2013, gruen)
    moser = Angestellter('Martha Moser', '2000', 2007, 2)

    meine_mitarbeiter = {'Huber': huber,
                         'Maier': maier,
                         'Grün': gruen,
                         'Pichler': pichler,
                         'Moser': moser}

    print('Alle Mitarbeiter ausgeben:')
    for ma in meine_mitarbeiter:
        print(meine_mitarbeiter[ma])
    print('\nAllgemeine Gehaltserhöhung um 2%:')
    for ma in meine_mitarbeiter:
        meine_mitarbeiter[ma].gehalt_erhoehen(2)
        print(meine_mitarbeiter[ma])
    print('\nAllgemeine Beförderung:')
    for ma in meine_mitarbeiter:
        meine_mitarbeiter[ma].befoerderung()
        print(meine_mitarbeiter[ma])


test()

Fehler, programmieren, Python, hilferuf
1 Antwort

Meistgelesene Fragen zum Thema Python

Exponenten in Python 3.2

2 Antworten

Wie kann ich mit Python Elemente einer Liste addieren und diese in eine neue schreiben?

2 Antworten

Python Taschenrechner

6 Antworten

Python Elemente einer Liste zählen

1 Antwort

Python | Ziffern einer Zahl zerlegen

1 Antwort

Was bedeutet % in python

4 Antworten

Python überprüfen ob zahl oder nicht

3 Antworten

Python Wurzel ziehen

4 Antworten

Grundlegende unterschiede zwischen Python und Java?

4 Antworten

Python - Neue und gute Antworten