Форум сайта python.su
import re operators = {'-': lambda a, b: f'{a} - {b}', '+': lambda a, b: f'{a} + {b}', '*': lambda a, b: f'{a} * {b}', '/': lambda a, b: f'{a} / {b}', '**': lambda a, b: f'{a}**{b}'} def eval_pn(tokens): token = next(tokens) if token in operators: return operators[token](eval_pn(tokens), eval_pn(tokens)) elif re.fullmatch(r'\d+', token): return token raise SyntaxError(ascii(token)) def get_tokens(s): op_regex = '|'.join(map(re.escape, operators)) return iter(re.findall(r'\d+|' + op_regex, s)) a = input() print(eval_pn(get_tokens(a)))
-3-4 5
3-(4-5)
operations = {'*': {'priority': 3}, 'action': lambda a, b: f'{a} - {b}', '/': {'priority': 2}, 'action': lambda a, b: f'{a} + {b}', '+': {'priority': 1}, 'action': lambda a, b: f'{a} * {b}', '-': {'priority': 0}, 'action': lambda a, b: f'{a} / {b}', '**': {'priority': 5}, 'action': lambda a, b: f'{a}**{b}', '(': {'priority': 4}, ')': {'priority': 1}} def isempty(string): return len(string) == 0; def priority(a, b): return operations[a]['priority'] >= operations[b]['priority']; def check_expression(exp): stack = [] rpn = [] for char in exp.split(' '): if char in ('0123456789'): rpn.append(char) elif char in operations: if (char == ')'): tmp = stack.pop() while not isempty(stack) and tmp != '(': rpn.append(tmp) tmp = stack.pop() if isempty(stack): stack.append(char) else: while not isempty(stack) and priority(stack[len(stack) - 1], char) \ and stack[len(stack) - 1] != '(': rpn.append(stack.pop()); if char != ')': stack.append(char) else: return 'ERROR' for x in reversed(stack): rpn.append(x) return " ".join(rpn) s = input() print(check_expression(s))
( 2 - 4 ) * ( 3 + 6 )
2 4 - 3 6 + * )
2 3 + * 1 8 / 4
ERROR
#!/usr/bin/python3 import telnetlib import time import getpass import sys from concurrent.futures import ThreadPoolExecutor VLAN = sys.argv[1].encode() COMMAND = b'sh vlan tag ' USER = b'admin' PASSWORD = b'admin' DEVICES_IP = ['192.168.1.1', '192.168.1.2', '192.168.1.3', '192.168.1.4', '192.168.1.5'] def show_vlan ( IP ): t = telnetlib.Telnet(IP) t.read_until(b'User Name:') t.write(USER + b'\n') t.read_until(b'Password:') t.write(PASSWORD + b'\n') time.sleep(1) t.write(COMMAND + VLAN + b'\n') time.sleep(2) output = t.read_very_eager().decode('utf-8') return output for IP in DEVICES_IP: RESULT = show_vlan(IP) print(RESULT)
AUTH_LDAP_SERVER_URI = "ldap://192.168.0.6:3268" AUTH_LDAP_AUTHORIZE_ALL_USERS = True AUTH_LDAP_PERMIT_EMPTY_PASSWORD = True AUTH_LDAP_BIND_DN = "cn=dossier_ldap_find,ou=Services,ou=Technical,dc=XXX,dc=ru" AUTH_LDAP_BIND_PASSWORD = "PASSWORD" AUTH_LDAP_USER_SEARCH = LDAPSearchUnion( LDAPSearch("dc=XXX,dc=ru", ldap.SCOPE_SUBTREE, "(sAMAccountName=%(user)s)"), LDAPSearch("dc=YYY,dc=XXX,dc=ru", ldap.SCOPE_SUBTREE, "(sAMAccountName=%(user)s)"), LDAPSearch("dc=ZZZ,dc=XXX,dc=ru", ldap.SCOPE_SUBTREE, "(sAMAccountName=%(user)s)"), ) AUTH_LDAP_GROUP_SEARCH = LDAPSearchUnion( LDAPSearch("ou=Services,ou=Technical,dc=XXX,dc=ru", ldap.SCOPE_SUBTREE, "(objectClass=group)"), LDAPSearch("ou=Services,ou=Technical,dc=YYY,dc=XXX,dc=ru", ldap.SCOPE_SUBTREE, "(objectClass=group)"), LDAPSearch("ou=Services,ou=Technical,dc=ZZZ,dc=XXX,dc=ru", ldap.SCOPE_SUBTREE, "(objectClass=group)"), ) AUTH_LDAP_GROUP_TYPE = GroupOfNamesType(name_attr="cn") AUTH_LDAP_REQUIRE_GROUP = ( ( LDAPGroupQuery("cn=DOSSIER_ACTIVE,ou=Services,ou=Technical,dc=XXX,dc=ru") | LDAPGroupQuery("cn=DOSSIER_ACTIVE,ou=Services,ou=Technical,dc=YYY,dc=XXX,dc=ru") | LDAPGroupQuery("cn=DOSSIER_ACTIVE,ou=Services,ou=Technical,dc=ZZZ,dc=XXX,dc=ru") ) & ~LDAPGroupQuery("cn=DOSSIER_BLOCKED,ou=Services,ou=Technical,dc=XXX,dc=ru") & ~LDAPGroupQuery("cn=DOSSIER_BLOCKED,ou=Services,ou=Technical,dc=YYY,dc=XXX,dc=ru") & ~LDAPGroupQuery("cn=DOSSIER_BLOCKED,ou=Services,ou=Technical,dc=ZZZ,dc=XXX,dc=ru") ) AUTH_LDAP_USER_ATTR_MAP = { "first_name": "givenName", "last_name": "sn", "email": "mail" } AUTH_LDAP_PROFILE_ATTR_MAP = { "ipphone": "ipphone", } AUTH_LDAP_USER_FLAGS_BY_GROUP = { "is_active": ( LDAPGroupQuery("cn=DOSSIER_ACTIVE,ou=Services,ou=Technical,dc=XXX,dc=ru") | LDAPGroupQuery("cn=DOSSIER_ACTIVE,ou=Services,ou=Technical,dc=YYY,dc=XXX,dc=ru") | LDAPGroupQuery("cn=DOSSIER_ACTIVE,ou=Services,ou=Technical,dc=ZZZ,dc=XXX,dc=ru") ), "is_staff": ( LDAPGroupQuery("cn=DOSSIER_STAFF,ou=Services,ou=Technical,dc=XXX,dc=ru") | LDAPGroupQuery("cn=DOSSIER_STAFF,ou=Services,ou=Technical,dc=YYY,dc=XXX,dc=ru") | LDAPGroupQuery("cn=DOSSIER_STAFF,ou=Services,ou=Technical,dc=ZZZ,dc=XXX,dc=ru") ), "is_superuser": ( LDAPGroupQuery("cn=DOSSIER_SUPPERUSER,ou=Services,ou=Technical,dc=XXX,dc=ru") | LDAPGroupQuery("cn=DOSSIER_SUPPERUSER,ou=Services,ou=Technical,dc=YYY,dc=XXX,dc=ru") | LDAPGroupQuery("cn=DOSSIER_SUPPERUSER,ou=Services,ou=Technical,dc=ZZZ,dc=XXX,dc=ru") ), "is_writer": ( LDAPGroupQuery("cn=DOSSIER_WRITER,ou=Services,ou=Technical,dc=XXX,dc=ru") | LDAPGroupQuery("cn=DOSSIER_WRITER,ou=Services,ou=Technical,dc=YYY,dc=XXX,dc=ru") | LDAPGroupQuery("cn=DOSSIER_WRITER,ou=Services,ou=Technical,dc=ZZZ,dc=XXX,dc=ru") ), } AUTH_LDAP_PROFILE_FLAGS_BY_GROUP = { "is_writer": ( LDAPGroupQuery("cn=DOSSIER_WRITER,ou=Services,ou=Technical,dc=XXX,dc=ru") | LDAPGroupQuery("cn=DOSSIER_WRITER,ou=Services,ou=Technical,dc=YYY,dc=XXX,dc=ru") | LDAPGroupQuery("cn=DOSSIER_WRITER,ou=Services,ou=Technical,dc=ZZZ,dc=XXX,dc=ru") ), } #AUTH_LDAP_MIRROR_GROUPS = True AUTH_LDAP_ALWAYS_UPDATE_USER = True AUTH_LDAP_FIND_GROUP_PERMS = True AUTH_LDAP_CACHE_GROUPS = False AUTH_LDAP_GROUP_CACHE_TIMEOUT = 3600
from django.db import models from django.contrib.auth.models import User from django.db.models.signals import post_save from django.dispatch import receiver from django_auth_ldap.backend import LDAPBackend class Profile(models.Model): user = models.OneToOneField(User, on_delete=models.CASCADE) ipphone = models.CharField(max_length=10, blank=True, null=True) is_writer = models.BooleanField(default=False) @receiver(post_save, sender=User) def create_user_profile(sender, instance, created, **kwargs): if created: new_profile = Profile.objects.create(user=instance) user = LDAPBackend().populate_user(instance.username) if user: ipphone = user.ldap_user.attrs.get("ipphone", [])[0] new_profile.ipphone = ipphone @receiver(post_save, sender=User) def save_user_profile(sender, instance, **kwargs): instance.profile.save()
chcp65001) на UTF-8. ОДИН print начал одновременно выдавать русский текст и ошибку IOError: (Errno 0) Error. Как это работает?
response = requests.get("https://zaycev.net") divs = Что-то, что-то сделать чтобы выбрать только div'ы из response.text (Необязательно брать весь HTML код, может есть что-то для этого) [\code] Спасибо за ответ заранее
token = "....."
import logging
logging.getLogger('socketIO-client').setLevel(logging.DEBUG)
logging.basicConfig()
from socketIO_client import SocketIO, LoggingNamespace
print token
def on_connect():
print('connect')
def on_disconnect():
print('wtf')
def on_event(*args):
print('aaaaaaa', args)
print "connecting"
print "https://sockets.streamlabs.com?token={}".format(token)
socketIO = SocketIO("https://sockets.streamlabs.com?token={}".format(token),443, LoggingNamespace)
socketIO.on('connect', on_connect)
socketIO.on('disconnect', on_disconnect)
socketIO.on('event', on_event)
socketIO.wait()
DEBUG:socketIO-client:sockets.streamlabs.com:443/socket.io [engine.io transport selected] websocket
DEBUG:socketIO-client:sockets.streamlabs.com:443/socket.io [engine.io heartbeat reset] DEBUG:socketIO-client:sockets.streamlabs.com:443/socket.io [engine.io message]
1
DEBUG:socketIO-client:sockets.streamlabs.com:443/socket.io [socket.io packet received]
1
wtf
DEBUG:socketIO-client:sockets.streamlabs.com:443/socket.io [engine.io pong] DEBUG:socketIO-client:sockets.streamlabs.com:443/socket.io [engine.io pong] DEBUG:socketIO-client:sockets.streamlabs.com:443/socket.io [engine.io pong] DEBUG:socketIO-client:sockets.streamlabs.com:443/socket.io [engine.io pong] DEBUG:socketIO-client:sockets.streamlabs.com:443/socket.io [engine.io pong]