On Sep 25, 12:15 pm, Ishwor Gurung <ishwor.gur...@gmail.com> wrote: > Wanderer > Hi > Refer tohttp://docs.python.org/tutorial/modules.html#the-module-search-path. > > Particularly- > " > When a module named spam is imported, the interpreter searches for a > file named spam.py in the current directory, and then in the list of > directories specified by the environment variable PYTHONPATH. This has > the same syntax as the shell variable PATH, that is, a list of > directory names. When PYTHONPATH is not set, or when the file is not > found there, the search continues in an installation-dependent default > path; on Unix, this is usually .:/usr/local/lib/python. > " > > Having said that, please see below. > > > I would like to import Matlab/Octave files of the .m sort into Python > > that look like this. > > > # comment > > y=[1,2,3,4,5\ > > ,6,7,8,9]; > > # comment > > > The only problem is I have to change the extensions from .m to .py. Is > > there a way to get python to import files that don't end in .py? > > You can try this for single file. Pretty trivial- > $ cat foo.m > y=[1,2,3] > $ export PYTHONSTARTUP=foo.m > $ python > Python 2.6.1 (r261:826, Sep 17 2009, 01:16:52) > [GCC 4.3.2] on linux2 > [Unladen Swallow 2009Q3] > Type "help", "copyright", "credits" or "license" for more information.>>> > dir() > > ['__builtins__', '__doc__', '__name__', '__package__', 'y']>>> y > > [1, 2, 3] > > Another way:>>> f_ = open('foo.m','r'); > >>> j = f_.xreadlines() > >>> for i in j.xreadlines(): > > ... print i > ... > y=[1,2,3] > > Another way:>>> import os; > >>> matlab_files=[]; > >>> for root, dirs, files in os.walk('.'): > > ... for i in files: > ... if i.endswith(".m"): > ... matlab_files.append(i); > ...>>> matlab_files > ['foo.m', 'bar.m'] > >>> for x in matlab_files: > > ... execfile(x);>>> dir() > > ['__builtins__', '__doc__', '__name__', 'dirs', 'files', 'i', > 'matlab_files', 'os', 'root', 'x', 'y', 'z']>>> x > 'b.m' > >>> y > [1, 2, 3] > >>> z > > [3, 2, 1] > > $ cat foo.m > y=[1,2,3] > $ cat bar.m > z=[3,2,1] > > These sort of task are pretty trivial to do. You should take some time > to read through the documentation.. and oh don't be such a wanderer > loosing sight of such good resource such ashttp://docs.python.org:-) > -- > Regards, > Ishwor Gurung
execfile(x) does what I'm looking for. Thanks -- http://mail.python.org/mailman/listinfo/python-list