r" indicates a 'regular expression' string, normally
called a raw string. It means that \ characters are
treated using the regex syntax rather than the c syntax.
In the regex syntax, \ characters are escape characters
only at the end of the string, which allows you to
easily use Windows directory notation as long as you
don't need to end a path with a \
sys.path.append("c:\\code\\newcode")
sys.path.append(r"c:\code\newcode")
The os.path module contains additional path handling methods.
[david]
stef mientki wrote:
Larry Bates wrote:
>stef mientki wrote:
>>hello,
my program has become a bit large,
and now I want to split the files over several subdirectories.
So in the example shown below, I just moved the files f1.py and f2.py
to a deeper subdirectory.
basedirectory\
mainfile.py
file1.py
file2.py
subdir1\
__init__.py
f1.py
f2.py
Now I don't want (even can't) change my program,
to change imports from
from f1 import something
into
from subdir1.f1 import something
simply because f1.py and f2.py are python files dropped by users
and I do not know on forehand what will be dropped.
I looked into the description of __init__.py,
in the hope I could make f1.py and f2.py available as if they were in
the basedirectory,
but i couldn't find a way.
Is there a way to make f1.py and f2.py available as if they were
located in the base directory,
without knowing their names (so in general all py-files in the
subdir1) ??
thanks,
Stef Mientki
Put basedirectory\subdir in the PYTHONPATH environment variable or
os.path.append(r'basedirectory\subdir1')
in the body of your program.
thanks Larry,
after a bit of fiddling, I think "os." must be "sys."
and basedirectory shouldn't be in.
so it becomes
sys.path.append ( r'subdir1' )
But what the .. is that "r" in front of the appended path ?
cheers,
Stef Mientki
>-Larry