Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Python > How can I import functions from another python file

Reply
Thread Tools

How can I import functions from another python file

 
 
yinglcs@gmail.com
Guest
Posts: n/a
 
      04-09-2007
Hi,
i have 2 python files in *different directory* , how can I import
python functions from 1 python file to another?

i get this error:
import task
ImportError: No module named task/

Thank you.

 
Reply With Quote
 
 
 
 
Lee Harr
Guest
Posts: n/a
 
      04-09-2007
On 2007-04-09, http://www.velocityreviews.com/forums/(E-Mail Removed) <(E-Mail Removed)> wrote:
> Hi,
> i have 2 python files in *different directory* , how can I import
> python functions from 1 python file to another?
>
> i get this error:
> import task
> ImportError: No module named task/
>



The directory that module is in must by on your python
path in order to import it. You can do it by modifying
sys.path or by setting the PYTHONPATH env variable.


$ mkdir otherdir
$ cat > otherdir/amod.py
def afunc():
return 'found'
$ python
>>> import amod

Traceback (most recent call last):
File "<stdin>", line 1, in ?
ImportError: No module named amod
>>> import sys
>>> sys.path.append('otherdir')
>>> import amod
>>> amod.afunc()

'found'
 
Reply With Quote
 
 
 
 
Gabriel Genellina
Guest
Posts: n/a
 
      04-09-2007
En Mon, 09 Apr 2007 18:06:11 -0300, (E-Mail Removed) <(E-Mail Removed)>
escribió:

> i have 2 python files in *different directory* , how can I import
> python functions from 1 python file to another?


See the tutorial about modules, packages, and the module search path:
http://docs.python.org/tut/node8.html
You can extend the search path using .pth files:
http://docs.python.org/lib/module-site.html
(but consider using packages instead of cluttering your search path with
infinite entries)

--
Gabriel Genellina

 
Reply With Quote
 
Shane Geiger
Guest
Posts: n/a
 
      04-10-2007

>> Hi,
>> i have 2 python files in *different directory* , how can I import
>> python functions from 1 python file to another?
>>
>> i get this error:
>> import task
>> ImportError: No module named task/
>>
>>

>
>
> The directory that module is in must by on your python
> path in order to import it.

That's not exactly correct. You *can* import from files that aren't in
your sys.path. What follows is a full-working (with python 2.5)
example. Perhaps ihooks is going to be obsolete at some point, but it
works now. See PEP 302 for more info. (I'm not sure how to modify this
example to work with a newer import mechanism or else I would provide it
to you.)



import os
def writefile(f, data, perms=750): open(f, 'w').write(data) and
os.chmod(f, perms)

foobar = """
print "this is from the foobar module"

def x():
print "This is the x function."

"""

writefile('/tmp/foobar.py', foobar)


# File:ihooks-example-1.py
import ihooks, imp, os, sys
def import_from(filename):
"Import module from a named file"
if not os.path.exists(filename):
sys.stderr.write( "WARNING: Cannot import file." )
loader = ihooks.BasicModuleLoader()
path, file = os.path.split(filename)
name, ext = os.path.splitext(file)
m = loader.find_module_in_dir(name, path)
if not m:
raise ImportError, name
m = loader.load_module(name, m)
return m

foo = import_from("/tmp/foobar.py")

print foo.x
print foo.x()
print foo.x()




> You can do it by modifying
> sys.path or by setting the PYTHONPATH env variable.
>
>
> $ mkdir otherdir
> $ cat > otherdir/amod.py
> def afunc():
> return 'found'
> $ python
>
>>>> import amod
>>>>

> Traceback (most recent call last):
> File "<stdin>", line 1, in ?
> ImportError: No module named amod
>
>>>> import sys
>>>> sys.path.append('otherdir')
>>>> import amod
>>>> amod.afunc()
>>>>

> 'found'
>


--
Shane Geiger
IT Director
National Council on Economic Education
(E-Mail Removed) | 402-438-8958 | http://www.ncee.net

Leading the Campaign for Economic and Financial Literacy


 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Re: How include a large array? Edward A. Falk C Programming 1 04-04-2013 08:07 PM
imp.find_module don't found my module but standard import statement can import this module… why ? Stéphane Klein Python 0 07-05-2011 07:36 AM
Re: How to import custom python file in python server page (psp) ? Joshua Kugler Python 1 03-15-2008 06:03 AM
IMPORT STATIC; Why is "import static" file scope? Why not class scope? Paul Opal Java 12 10-10-2004 11:01 PM
please help me in distinguish redefining functions, overloading functions and overriding functions. Xiangliang Meng C++ 1 06-21-2004 03:11 AM



Advertisments