pergunta sobre algo q parece assombração
na lib pysub-parser
https://github.com/fedecalendino/pysub-parser/tree/main/pysubparser
alguém saberia explicar prq não é possível usar a função parser ao importar a lib inteira?
apesar de ser possível importar reservando namespace com 'from module impor func'
import pysubparser as pysub
pysub.parser
return:
AttributeError: module 'pysubparser' has no attribute 'parser'
o mais assombroso é que após o erro na tentativa convencional de usar a função,
caso se importe a função via namespace,
magicamente a convencional anotação para uso de função vinda de módulo passa a funcionar.
from pysubparser import parser
pysub.parser
return:
<module 'pysubparser.parser' from ...
será q alguem consegue esclarecer o prq desse comportamento?
fiquei confuso demais... depois de 2 horas de pesquisa no stackoverflow e dezenas de experimentos, to cedendo a perguntas em grupo haha
Tópico pergunta sobre algo q parece assombração
10 mensagens · –P Link
clique para mostrarVc já tentou usar como o Readme da lib indica? https://github.com/fedecalendino/pysub-parser/blob/main/README.mdR sim. conseguir usar a lib, eu consigo. importando via namespace from module import func1, func2, func3 o que to buscando é esclarecimento para esse comportamento estranho q descrevi contornar o uso para atingir o objetivo, é tranquilo meu dilema é entender perfeitamente prq para inúmeras libs há no mínimo duas formas possíveis de importar e usar uma funcao de um modulo 1 - import module // module.func1 2 - from module import func1 mas pra essa lib parece q só o segunda forma funcionaP R nao, prq essa importação me faria acessar somente a função parser meu objetivo era importar a API inteira e depois usar cada função interna na medida q fosse necessário, sempre a 'puxando' da lib felizmente o Eduardo Mendes do canal Live de Python esclareceu essa situação A causa desse comportamento foi pelo modo que o desenvolvedor do package montou o arquivo __init__ , não definindo os módulos que estão na raiz do package assim por não estarem definidos no __init__, somente é possível importar os módulos pela notação from lib import func Uma forma de resolver a situação, embora não seja uma boa prática, seria existir a linha " from . import * " dentro do arquivo __init__ do package de toda forma, obrigado a quem tentou esclarecer 😄P Link
clique para mostrarSe vc quer só a função, então depois de olhar o https://github.com/fedecalendino/pysub-parser/blob/main/pysubparser/parser.py acho q o correto é, q eu não sei se vc tentou from pysubparser.parser import parseC P foi o @apenasRR q ficou interessado em usar, e como a pergunta foi de como usar libs eu até achei legal responder aquiR mas vale destacar q minha pergunta nao era sobre como usar a lib... eu já vinha a usando tranquilamente tem algumas semanas. eu tava confuso sobre prq nao funcionava o método de importação enxuto (import lib), para reutilizar as funçãoes a partir dele 😅 , onde a pessoa era forçada a fazer importação reservando name space ( from module import func ) era mais uma dúvida sobre o desenho do package e sua limitação de design, do q sobre uso da lib felizmente o eduardo mendes do canal 'live de python' deu uma explicação bem completaR sobre isso. depois de tirar as duvidas q postei aqui consegui terminar um protótipo de "auto-tradutor de legendas em lote" talvez seja útil pra alguns aqui assim quem tem inglês fraquinho ou queira ajudar amigos, desejando traduzir todas as legendas de um seriado/curso de uma única vez, pode fazer essa atividade em segundos. ainda q sejam centenas de legendas lembrando q não é versão madura, mas só protótipo em notebook no momento Batch Subs Translator auto-tradutor de legendas em lote https://gist.github.com/apenasrr/e2da717655ef0ac52d031fd8e410963e valeu a quem tentou ajudar nas dúvidas