Jak prawidłowo dodawać biblioteki do skryptu?

2015-02-06 13:34
0

Witam.
Mój program wygląda nastépująco:

class html():
    '''
    Main class - get_html, save, process
    '''
    def __init__(self):
        '''
        Initialize libs for further actions
        '''
        import requests
        print "Import OK!"

    def get_html(self):
        '''
        Download source
        '''
        #import requests -- gdy ta linijka jest zakomentowana program sié nie wykonuje.
        r = requests.get("http://example.com/")
        return html

Proszé, aby ktos podpowiedział, jak prawidłowo zaimportowac biblioteki w skrypcie.
Program wykonuje sié prawidłowo, gdy linijka z komentarzem jest odkomentowana.
Co dziwne, biblioteka na pewno sié importuje za każdym razem, ponieważ zawsze przy wywoływaniu get_html() wyswietla sié "Import OK!".

Jak prawidłowo dodac biblioteke tak, aby nie byla ona w metodzie get_html() (metoda ta bédzie wywoływana wielokrotnie, nie chciałbym, aby wszystkie biblioteki ładowały sié wiele razy).
Z góry dziékujé za odpowiedzi.

edytowany 1x, ostatnio: furious programming, 2015-02-06 23:00
Dziwne to Proszé - używasz jakiejś dziwnej klawiatury? ;) - furious programming 2015-02-06 23:00
Mam Debiana, i wsród ustawień klawiatur, ta była najbardziej zbliżona, w innych polskich klawiaturach literki są całkiem poprzestawiane. - jareq000 2015-02-07 10:12

Pozostało 580 znaków

2015-02-06 13:36

Lol.

import requests

class Html:
  # ... reszta kodu

Pozostało 580 znaków

2015-02-06 13:38
1

Na początku skryptu.


To smutne, że głupcy są tak pewni siebie, a ludzie mądrzy - tak pełni wątpliwości. Bertrand Russell

Pozostało 580 znaków

2015-02-06 13:39
0

Dziéki. Dziala :)
Nie wiedziałem że tak można :)
A mógłbys wytłumaczyc, dlaczego mimo zaimportowanej biblioteki w init() nie mogłem z niej skorzystac?

edytowany 1x, ostatnio: jareq000, 2015-02-06 13:39

Pozostało 580 znaków

2015-02-06 13:42
1

Bo import wygląda tak:

import requests # jest tłumaczone na mniej-więcej:
requests = __import__('requests', # ... inne rzeczy, które są mało istotne)

Więc jak robisz to lokalnie w funkcji, to nie ma czegoś takiego jak requests poza nią.

Pozostało 580 znaków

2015-02-06 13:44
0

Ok, w takim razie dziékujé za szybkie odpowiedzi :)

Pozostało 580 znaków

Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0