howto add a sub-directory to the searchpath / namespace ?
david
david at nospam.spam
Thu Oct 11 00:17:05 EDT 2007
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
>>
>
More information about the Python-list
mailing list