[Tutor] create an xls file using data from a txt file

davidheiserca at gmail.com davidheiserca at gmail.com
Wed May 11 22:04:34 CEST 2011


I'm not contradicting anyone, just relating my experience.

I have a large suite of Python programs that run routinely on both Windows 
and Linux systems. Some of the programs build large directory tree 
structures. I cast all directory delimiters to the forward slash "/". No 
problems.


----- Original Message ----- 
From: "Steve Willoughby" <steve at alchemy.com>
To: <tutor at python.org>
Sent: Wednesday, May 11, 2011 12:48 PM
Subject: Re: [Tutor] create an xls file using data from a txt file


On 11-May-11 12:14, James Reynolds wrote:
> Actually, I never knew that about the windows separators, since I've
> just always used the '\' out of habit.

If you want your code to run everywhere, you should use the functions in
os.path to manipulate and build paths.

Otherwise, using \ all the time means your code will ONLY ever work on
Windows.  Using / all the time means your code will work fine on Mac OS
X, Linux, or other POSIX systems, and PROBABLY ok on Windows most of the
time, but not on other systems.

>     out path = 'C:\\test.xls', which will be 'C:\test.xls' or you can
>     write out path = r'C:\test.xls' the "r" bit tells python that the
>     following is a regular expression. or regex.

Not to be too pedantic, but since this is a tutorial list, I'll point
out the more accurate answer so new programmers don't get a mistaken
impression.

The 'r' string prefix does not actually mean regular expressions.  It
means "raw string" where (almost) no backslash codes are recognized in
the string constant, so you could say r'C:\test.xls' instead of
'c:\\test.xls'.

Raw strings are, however, really useful for strings which hold regular
expressions, so you see them in that context a lot.

... ah... and I just noticed that this was pointed out later in the
thread.  Sorry for the repeat there.

>     ‘/’ is perfectly valid Windows separator. See the *tested* examples
>     below. It works just fine pretty much anywhere I have ever tried it,
>     including the command line. (except apparently for an MSOffice file
>     save dialog that I tried just now)

Not... quite.  / is accepted by a number of programs, including the
Python interpreter, which came from Unix-like systems where / is the
directory separator.  Very old versions of MSDOS could be configured to
use / on the command line for pretty much everything, but that has been
deprecated for a long time now (they originally wanted / for
command-line switches instead, so used \ for directory separators).

Core windows commands don't generally accept it, including native
Windows applications (although sometimes they're lenient in what they
accept).  It'll work for command-line Python script usage because it's
*python* that allows them, not *windows*.

-- 
Steve Willoughby / steve at alchemy.com
"A ship in harbor is safe, but that is not what ships are built for."
PGP Fingerprint 4615 3CCE 0F29 AE6C 8FF4 CA01 73FE 997A 765D 696C
_______________________________________________
Tutor maillist  -  Tutor at python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor 



More information about the Tutor mailing list