Stripping parts of a path
Dan Stromberg
dstromberglists at gmail.com
Sat Jul 26 15:15:40 EDT 2008
On Sat, 26 Jul 2008 08:59:15 -0300, Tim Cook wrote:
> Hi All,
>
> I just ran into an issue with the rstrip method when using it on path
> strings.
>
> When executing a function I have a need to strip off a portion of the
> current working directory and add on a path to a log file. Initially
> this worked great but then I added a branch in SVN which caused the path
> to contain 'LNCCWorkshop'. The rstrip() then began removing the
> characters 'shop' leaving an incorrect path to the log file. When I
> hard coded this path it worked okay but then did the same thing later in
> the file when I needed to point to a database. The code worked fine with
> a different path. Here are some code fragments.
>
> logfile=os.getcwd().rstrip('src/oship/atbldr')+'/oship/log/
at_build_errors.log'
>
> this worked when the path was:
> /home/tim/ref_impl_python/TRUNK/oship/src/oship/atbldr
>
> the code above returns:
> /home/tim/ref_impl_python/TRUNK/oship/log/at_build_errors.log
>
> but when I tried a branches version that has the path:
> /home/tim/ref_impl_python/BRANCHES/LNCCWorkshop/oship/src/oship/atbldr
>
> it SHOULD return:
> /home/tim/ref_impl_python/BRANCHES/LNCCWorkshop/oship/log/
at_build_errors.log
>
> but I get:
> /home/tim/ref_impl_python/BRANCHES/LNCCWork/oship/log/
at_build_errors.log
>
> logfile=os.getcwd()
> print logfile is correct; but when I add the .rstrip('src/oship/atbldr')
> it also strips the 'shop' off of LNCCWorkshop and returns
> /home/tim/ref_impl_python/BRANCHES/LNCCWork/oship/log/
at_build_errors.log
>
> I had two other people looking at this as we did troubleshooting and we
> could not determine the cause. It is repeatable with this path name. In
> resolution I renamed the branch to just LNCC and it works fine.
>
> Thoughts?
>
> Tim
Is this the Tim Cook I worked with at UCI?
Anyway, I think the os.path module might have something for you. As a
little bonus, it should produce code that works well with other operating
systems, and should deal gracefully with repeated slashes.
More information about the Python-list
mailing list