首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >执行脚本python3.8.5 VSCode时没有输出

执行脚本python3.8.5 VSCode时没有输出
EN

Stack Overflow用户
提问于 2021-12-14 14:52:37
回答 1查看 39关注 0票数 0

我正在开发一个简单的反应性编程脚本示例来从web下载图像,但是当我在VScode中执行该脚本时,我没有得到任何类型的输出,我已经尝试创建了一个VirtualEnv

在终端中,我得到了这样的输出:

C:/Users/ernes/AppData/Local/Programs/Python/Python38/python.exe c:/

/ernes/Desktop/ C:\Users\ernes\Desktop\paradigmas> /jose.py PS C:\Users\ernes\Desktop\paradigmas>

代码:

代码语言:javascript
复制
import base64
import aiohttp
import asyncio
import aiofiles
import io
import rx
from tkinter import *
from tkinter.ttk import *
from urllib.request import urlopen
from PIL import ImageTk, Image
from bs4 import BeautifulSoup


class App:
    
    async def getSourceCode(url):
        async with aiohttp.ClientSession() as clientSession:
            serverResponse = await clientSession.get(url)
            sourceCode = await serverResponse.text()
            return sourceCode     
    
    async def main(self, urlToProcess='https://es.wikipedia.org/wiki/38M_Toldi'):
        print(urlToProcess)
        sourceCode = self.getSourceCode(urlToProcess)
        parsedSource = BeautifulSoup(sourceCode, 'html.parser')
        for imgItem in parsedSource.find_all('img', src=True):
            if imgItem['src'].find('http') == True:
                imgSrc = imgItem['src']
                if len(imgItem['alt']) > 0 :
                    imgName = imgItem['alt']
                else:
                    imgName = imgSrc
            if not imgName in self.imgs:
                async with aiohttp.ClientSession() as clientSession:
                    try:
                        serverResponse = await clientSession.get(imgSrc)
                        imgBytes = await serverResponse.read(serverResponse)

                        if imgBytes:
                            self.bytesfoto.append(imgBytes)
                            print(f'{imgName} : {imgSrc}')

                    except:

                        print('Error al descargar la foto')
    """
    Definicion de los atributos de la clase iniciales donde se guardan los datos que se usaran en el tkinter para la GUI

    contador -- es el que lleva la cuenta de la cantidad de imágenes que se añaden a la lista
    window -- define la ventana de la GUI
    imgs -- lista en la que se guardan las URLs de las imágenes
    bytesfoto -- lista en la que se guardan las fotos en bytes para poder guardarlas en memoria
    objImg -- variable que convierte los links de las fotos en observables

    """

    def __init__(self):
        self.contador = 0
        self.window = Tk()
        self.window.title = "Reactive-Programming"
        self.imgs = []
        self.bytesfoto = []
        self.objImg = rx.from_iterable(self.imgs)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-12-14 16:07:53

将其添加到类之外的底部

代码语言:javascript
复制
theobj = asyncio.run(App().main())
theobj()

脚本应该在之后工作,并有一些错误。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70350945

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档