Orjanp Skrevet 15. august 2005 Del Skrevet 15. august 2005 (endret) Jeg ønsker å importere en funksjon som ligger i en egen fil. Hvordan gjøres det? Begge filene ligger i samme katalog. Testet med: import filename.py og import filename # Uten å ta med .py endelse Ingen fungerte. Ørjan... Endret 15. august 2005 av Orjanp Lenke til kommentar
zeitgeist Skrevet 15. august 2005 Del Skrevet 15. august 2005 (endret) Du har flere alternativer : import filename # bevarer modulen som eget namespace print filename.funksjon() from filename import funksjon print funksjon() from filename import funksjon as min_funksjon print min_funksjon() from filename import * print funksjon() Endret 15. august 2005 av zeitgeist Lenke til kommentar
Orjanp Skrevet 15. august 2005 Forfatter Del Skrevet 15. august 2005 Takk så mye. Lenke til kommentar
fdredk Skrevet 15. november 2005 Del Skrevet 15. november 2005 Men hvordan kan det gjøres når filene ikke ligger i samme katalog? from dir/file import function print function() funket ikke... Lenke til kommentar
A_N_K Skrevet 15. november 2005 Del Skrevet 15. november 2005 Hvis du skal importere en modul i en egen katalog skal katalogen helst være en pakke, dvs. at den må inneholde en fil __init__.py. Da kan du importere moduler i denne slik: import minpakke.minmodul minpakke er selvfølgelig navnet på katalogen. Lenke til kommentar
zeitgeist Skrevet 15. november 2005 Del Skrevet 15. november 2005 Men hvordan kan det gjøres når filene ikke ligger i samme katalog?from dir/file import function print function() funket ikke... 5156691[/snapback] som ANK siker, eller import sys sys.path.append(modul_bane) Lenke til kommentar
A_N_K Skrevet 15. november 2005 Del Skrevet 15. november 2005 Det kommer selvfølgelig litt an på hva man prøver å gjøre. Hvis man bare vil legge moduler et ikke-standard sted vil det gå an å legge dem til søkestien (sys.path), pakker er nyttige hvis du faktisk ønsker å gruppere moduler. Lenke til kommentar
fdredk Skrevet 1. desember 2005 Del Skrevet 1. desember 2005 Hei, sliter fortsatt litt med dette jeg... Det jeg ønsker nå er å importere en klasse fra en pakke, så jeg kjørte: from pakke import klasse så skal en funksjon inni klassen min returner et object til meg, så jeg kjører: obj = klasse.funk() men får da feilmeldingen: unhandled TypeError "unbound method funk() must be called with klasse instance as first argument (got nothing instead)" funk() funksjonen min har ingen argument... Kanskje feilen ikke har noe med importeringen å gjøre? Takker for svar! Lenke til kommentar
A_N_K Skrevet 1. desember 2005 Del Skrevet 1. desember 2005 Hvorfor kaller du klassens metode direkte? Noe sier meg at du ville tjent på å lese om klasser og objekter (klasseinstanser) .. Lenke til kommentar
fdredk Skrevet 1. desember 2005 Del Skrevet 1. desember 2005 Hvorfor kaller du klassens metode direkte?5239047[/snapback] Siden jeg selv ikke vet svaret på det spørsmålet, har du nokk rett! Jeg skal lese litt om klasser og objekter og komme med tilbakemelding om noen dager, kanskje har jeg funnet ut svaret selv da... Lenke til kommentar
A_N_K Skrevet 1. desember 2005 Del Skrevet 1. desember 2005 Godt å høre. Kanskje denne siden vil danne et godt utgangspunkt. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå