ipython

Описание: Программирование на супер модном мега крутом языке Питон.

dyvniy M
Автор темы, Администратор
Администратор
Аватара
dyvniy M
Автор темы, Администратор
Администратор
Возраст: 41
Репутация: 1
Лояльность: 1
Сообщения: 3579
Зарегистрирован: Ср, 10 октября 2012
С нами: 11 лет 5 месяцев
Профессия: Программист
Откуда: Россия, Москва
ICQ Сайт Skype ВКонтакте

#1 dyvniy » Чт, 12 марта 2020, 07:51:27

Save session
%save -r mysession 1-999999
https://gist.github.com/awesomebytes/4972b76459822845cc71
Изображение

dyvniy M
Автор темы, Администратор
Администратор
Аватара
dyvniy M
Автор темы, Администратор
Администратор
Возраст: 41
Репутация: 1
Лояльность: 1
Сообщения: 3579
Зарегистрирован: Ср, 10 октября 2012
С нами: 11 лет 5 месяцев
Профессия: Программист
Откуда: Россия, Москва
ICQ Сайт Skype ВКонтакте

#2 dyvniy » Вт, 17 января 2023, 15:58:34

Надеюсь дапомню как код в ipython сохранять.

Код: Выделить всё

%save current_session ~0/
%save previous_session ~1/

продублирую и тут.
https://stackoverflow.com/questions/947810/how-to-save-a-python-interactive-session
надеюсь так понятнее, чем в прошлом сообщении.
Изображение

dyvniy M
Автор темы, Администратор
Администратор
Аватара
dyvniy M
Автор темы, Администратор
Администратор
Возраст: 41
Репутация: 1
Лояльность: 1
Сообщения: 3579
Зарегистрирован: Ср, 10 октября 2012
С нами: 11 лет 5 месяцев
Профессия: Программист
Откуда: Россия, Москва
ICQ Сайт Skype ВКонтакте

#3 dyvniy » Чт, 6 июля 2023, 23:05:26

http Client

Код: Выделить всё

import requests as rq
from time import time
from threading import Thread
def ask
():
    
ans rq.get('http://127.0.0.1:8888')

def parralel(times 1000):
    
= list()
    for 
i in range(times):
        
th Thread(target=ask)
        
th.start()
        
l.append(th)
     for 
i in l:
         
i.join()

def easy(times 1000):
    for 
i in range(times):
        
ask()

t1 time()
parralel(2000)
t2 time()
easy(2000)
print(
'easy'time() - t2)
print(
'parralel't2 t1

easy 4.066828489303589
parralel 2.368784189224243

server

Код: Выделить всё

import asyncio
import tornado

0
class MainHandler(tornado.web.RequestHandler):
    
def get(self):
        
self.write("Hello, world")
        global 
i
        i 
+= 1
        
if 100 == 0:
            print(
i)

def make_app():
    return 
tornado.web.Application([
        (
r"/"MainHandler),
    ])

async def main():
    
app make_app()
    
app.listen(8888)
    
await asyncio.Event().wait()

if 
__name__ == "__main__":
    
asyncio.run(main()) 
Изображение

dyvniy M
Автор темы, Администратор
Администратор
Аватара
dyvniy M
Автор темы, Администратор
Администратор
Возраст: 41
Репутация: 1
Лояльность: 1
Сообщения: 3579
Зарегистрирован: Ср, 10 октября 2012
С нами: 11 лет 5 месяцев
Профессия: Программист
Откуда: Россия, Москва
ICQ Сайт Skype ВКонтакте

#4 dyvniy » Сб, 8 июля 2023, 07:24:28

у фэлкона другой подход, расштряемый
и какэто он быстрее работаее

Код: Выделить всё

# sample.py

import falcon


class QuoteResource
:
    def on_get(self, req, resp):
        """Handle GET requests."""
        quote = {
            'author': 'Grace Hopper',
            'quote': (
                "I've always been more interested in "
                "the future than in the past."
            ),
        }

        resp.media = quote


app 
= falcon.App()
app.add_route('/quote', QuoteResource())

easy 2.0557689666748047
parralel 2.205688238143921

при 10000 запросов увеличение времени почти линейно
число запросов 10000
easy 18.847280502319336
parralel 20.344011545181274
а торнадо падает (
Изображение

dyvniy M
Автор темы, Администратор
Администратор
Аватара
dyvniy M
Автор темы, Администратор
Администратор
Возраст: 41
Репутация: 1
Лояльность: 1
Сообщения: 3579
Зарегистрирован: Ср, 10 октября 2012
С нами: 11 лет 5 месяцев
Профессия: Программист
Откуда: Россия, Москва
ICQ Сайт Skype ВКонтакте

#5 dyvniy » Пн, 10 июля 2023, 10:42:24

Интересная идея - видео в мультик питоном
https://habr.com/ru/articles/746968/

Код: Выделить всё

import cv2
import numpy as np

def color_quantization
(img, k):
# Transform the image
  data = np.float32(img).reshape((-1, 3))

# Determine criteria
  criteria = (cv2.TERM_CRITERIA_EPS + cv2.TERM_CRITERIA_MAX_ITER, 20, 0.001)

# Implementing K-Means
  ret, label, center = cv2.kmeans(data, k, None, criteria, 10, cv2.KMEANS_RANDOM_CENTERS)
  center = np.uint8(center)
  result = center[label.flatten()]
  result = result.reshape(img.shape)
  return result


def edge_mask
(img, line_size, blur_value):
  gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
  gray_blur = cv2.medianBlur(gray, blur_value)
  edges = cv2.adaptiveThreshold(gray_blur, 255, cv2.ADAPTIVE_THRESH_MEAN_C, cv2.THRESH_BINARY, line_size, blur_value)
  return edges


print("количество цветов на видео (рекомендуется 10-100)")
total_color = int(input())
line_size = 7
blur_value 
= 7
print("создание изображений...")
count = 1

vidcap 
= cv2.VideoCapture('vid.mp4')
success, image = vidcap.read()


while success:
  success, image = vidcap.read()

  edges = edge_mask(image, line_size, blur_value)
##  cv2.imshow('what',edges)

  image = color_quantization(image, total_color)
  ##cv2.imshow('what',img)

  blurred = cv2.bilateralFilter(image, d=7, sigmaColor=200,sigmaSpace=200)
  ##cv2.imshow('what',blurred)

  cartoon = cv2.bitwise_and(blurred, blurred, mask=edges)
  ##cv2.imshow('what',cartoon)

  cv2.imwrite(str(count) + '.jpg', cartoon)
  print("корректно сохранена " + str(count) + "-ая картинка")
  count += 1

Код: Выделить всё

import cv2
import moviepy
.editor as moviepy
from time import sleep
import os

print("фотографий:")
count = int(input())
print(
"кадров в секунду:")
fps = int(input())

counter = 1
img_array 
= []
for i in range(count):
    img = cv2.imread(str(counter) + ".jpg")
    height, width, layers = img.shape
    size 
= (width,height)
    img_array.append(img)
    if os.path.isfile(str(counter) + ".jpg"):
        os.remove(str(counter) + ".jpg")
    
    counter 
+= 1

    if counter 
- 1 % 10 == 0:
      print("успешно превращены в видео " + str(counter) + " из " + str(count) + " фотографий")


out = cv2.VideoWriter('cartoon.avi',cv2.VideoWriter_fourcc(*'DIVX'), fps, size)
 
for i in range
(len(img_array)):
    out.write(img_array[i])
out.release()


print(
"готово видео в формате .avi, но вы его нигде не воспроизведёте,")
print(
"сейчас произойдёт конвертация в .mp4")
print(
"конвертация...")
print()
clip = moviepy.VideoFileClip("cartoon.avi")
clip.write_videofile("result.mp4")
print()

print(
"программа завершена! спасибо, что воспользовались cartooner 1.2!")
print(
"терминал автоматически закроется через 60 секунд")
sleep(60)
Изображение

dyvniy M
Автор темы, Администратор
Администратор
Аватара
dyvniy M
Автор темы, Администратор
Администратор
Возраст: 41
Репутация: 1
Лояльность: 1
Сообщения: 3579
Зарегистрирован: Ср, 10 октября 2012
С нами: 11 лет 5 месяцев
Профессия: Программист
Откуда: Россия, Москва
ICQ Сайт Skype ВКонтакте

#6 dyvniy » Чт, 19 октября 2023, 20:18:57

есть ещё фласк, на котором порт норм аставится
https://dev-gang.ru/article/raskrytie-vozmozhnost ... lozhenii-na-python-xp3ew297qi/

Код: Выделить всё

from flask import Flask

app 
= Flask(name)

@
app.route('/')
def hello_world():
    return 'Hello, World!'

if name == 'main':
    app.run(debug=True, port=8082

Надо его скорость тоже измерить.

2000 debug:
easy 3.904355525970459
parralel 2.833284378051758

при 10000 запросов летят ошибки
Изображение


Название раздела: Python
Описание: Программирование на супер модном мега крутом языке Питон.

Быстрый ответ


Введите код в точности так, как вы его видите. Регистр символов не имеет значения.
Код подтверждения
:) ;) :hihi: :P :hah: :haha: :angel: :( :st: :_( :cool: 8-| :beee: :ham: :rrr: :grr: :* :secret: :stupid: :music: Ещё смайлики…
   

Вернуться в «Python»

Кто сейчас на форуме (по активности за 15 минут)

Сейчас этот раздел просматривают: 3 гостя