string to path problem

ecu_jon hayesjdno3 at yahoo.com
Mon Apr 4 11:21:48 EDT 2011


On Apr 4, 5:06 am, Kushal Kumaran <kushal.kumaran+pyt... at gmail.com>
wrote:
> On Mon, Apr 4, 2011 at 9:48 AM, ecu_jon <hayesjd... at yahoo.com> wrote:
> > On Apr 4, 12:17 am, Chris Rebert <c... at rebertia.com> wrote:
> >> On Sun, Apr 3, 2011 at 8:30 PM, ecu_jon <hayesjd... at yahoo.com> wrote:
> >> > i am writing a basic backup program for my school. so they wanted the
> >> > possibility to be able to set source/destination from a config file.
> >> > my source/destination was fine before, i would build it up with
> >> > functions, like 1 that got the user-name, and put it all together with
> >> > os.path.join. but if they set a source in the config file to something
> >> > like c:\users\jon\backup  python tries to read from c:\\users\\jon\
> >> > \backup, and throws out a read permission (because it doesn't
> >> > exist ...).
>
> >> Please give the exact error message and full exception traceback that
> >> you're getting.
>
> >> Cheers,
> >> Chris
> > Traceback (most recent call last):
> >  File "I:\college\spring11\capstone-project\testing1.py", line 39, in
> > <module>
> >    shutil.copy2(source1, destination)
> >  File "C:\Python27\lib\shutil.py", line 127, in copy2
> >    copyfile(src, dst)
> >  File "C:\Python27\lib\shutil.py", line 81, in copyfile
> >    with open(src, 'rb') as fsrc:
> > IOError: [Errno 13] Permission denied: 'c:\\users\\jon\\backup'
>
> > i have permission to c:\users\jon\*
> > but c:\\* obviously does not exist.
>
> The extra backslashes in the string literal are there to "escape" the
> required backslashes.  This is required because the backslash
> character is used to introduce certain special characters in strings,
> such as tabs and newlines.  The actual string does not contain the
> extra backslashes.  This is documented in extensive detail in the
> language reference:http://docs.python.org/reference/lexical_analysis.html#string-literals.
>  But you might want to start with the tutorial:http://docs.python.org/tutorial/introduction.html#strings
>
> Example:
>
>
>
> >>> s = 'c:\\users\\jon\\backup'
> >>> print s
> c:\users\jon\backup
>
> Is c:\users\jon\backup a directory?  The shutil.copyfile function will
> only copy a file.  There is a shutil.copytree that will copy an entire
> directory tree.
>
> --
> regards,
> kushal

well i changed a few minor things in the bigger problem, and c:\users
\jon\backup as the source worked fine. now to test it on winxp, where
the default has a space in the name.



More information about the Python-list mailing list