python 2.7.12 on Linux behaving differently than on Windows

Lew Pitcher lew.pitcher at digitalfreehold.ca
Wed Dec 7 15:29:49 EST 2016


On Wednesday December 7 2016 14:57, in comp.lang.python, "BartC"
<bc at freeuk.com> wrote:

> On 07/12/2016 18:02, BartC wrote:
> 
>> If I want to run a Windows program on Linux, and that program needs to
>> see *.* unexpanded, then it can't undo that expansion. The cat is
>> already out of the bag.
> 
> I mean, the genie is out of the bottle, whatever. You know what I mean,
> the operation is not reversible.

So, don't pull the cork.

Look, Bart, in a Unix shell, the user has the option to enable or disable
globbing (that action that converts the argument * into a list of files). A
Unix shell can give a program exactly the same list of unaltered arguments
that a Windows shell can.

But, point of fact is that the feature to disable globbing is not often
needed. Most Unix programs that accept filenames are happy to accept a list
of filenames. There is not much call for a program to perform it's own
globbing, like is required in Windows.

In fact, I can only think of three Unix "commandline" programs that need shell
globbing disabled:
  find - which performs it's own filename matching
  grep - which uses regular expressions to search the contents of files, and
  sed  - which uses regular expressions to edit the contents of files.
(I'm sure that there are a few more examples, though).

If your argument is with Unix shell globbing, I say that you can disable it.

If your argument is with Python's use of the default shell options to parse
commandlines in the Popen() method, then you need to talk to the authors of
Python to see if they can give you a way to alter this behaviour.

Otherwise, you are just being cranky and argumentative. Stop it. Suck it up
and move on. The world doesn't revolve around BartC, no matter how loud he
yells.

-- 
Lew Pitcher
"In Skills, We Trust"
PGP public key available upon request



More information about the Python-list mailing list